webentwicklung-frage-antwort-db.com.de

Git-Pull-Fehler: Ihre lokalen Änderungen an den folgenden Dateien würden durch Zusammenführen überschrieben:

Ich versuche, Änderungen von einem entfernten Zweig abzurufen, erhalte jedoch einen Fehler, der keinen Sinn ergibt

wenn ich es tue

git pull

Ich komme zurück

error: Your local changes to the following files would be overwritten by merge:
file/name/path
some/more/filenamepath
Please, commit your changes or stash them before you can merge.
Aborting

Das Problem ist, dass ich keine Änderungen habe, die festgeschrieben werden müssen, wenn ich git status

# On branch master
# Your branch and 'Origin/master' have diverged,
# and have 2 and 7 different commits each, respectively.
#
nothing to commit (working directory clean)

there are no working changes

Ich habe versucht git reset --hard HEAD, Aber das hat nicht geholfen

irgendwelche Ideen?

Dateien befinden sich im NFS-Dateisystem. Vielleicht hat das etwas damit zu tun. Dies ist unter OSX

Vielen Dank


UPDATE: Dieses Problem hat etwas mit NFS zu tun, denn als ich zur Originalquelle ging und git pull von dort aus ausführte, funktionierte alles einwandfrei, was es für diese Instanz reparierte, aber immer noch nicht genau wusste, warum es Probleme mit NFS verursacht.

25
darkgaro

Ich hatte das gleiche Problem, und die Antwort zum Abrufen/Zurückholen hat bei mir nicht funktioniert. So habe ich es gelöst:

Ich habe die Datei, die das Problem verursacht hat, gelöscht, ausgecheckt und erfolgreich abgerufen.

  1. rM-Datei/Name/Pfad/einige/mehr/DateinamePfad
  2. git checkout file/name/path/some/more/filenamepath
  3. git ziehen
24
pferg
  1. Löschen Sie die problematischen Dateien.
  2. Lauf git reset --hard.

Das sollte es beheben.

15
Dan

Du solltest:

  • fetch (Aktualisierung aller Remote-Tracking-Zweige wie Origin/Master)
  • legen Sie Ihren aktuellen Zweig erneut auf Origin/Master, um Ihre 2 Commits zusätzlich zu den 7 aktualisierten Commits, die Sie gerade abgerufen haben, abzuspielen.

Das wäre:

git checkout master
git fetch
git rebase Origin/master

Eine kürzere Version des obigen Befehlssatzes wäre der folgende einzelne Befehl:

git pull --rebase
6
VonC

Hatte das gleiche Problem. Gelöst durch erneutes Klonen des Repos. Aber jetzt denke ich, dass der Grund die Zeilenenden in diesen Dateien waren. Ich habe schon früher mit ihnen gespielt.

Ich nehme an, dass der Zeilenende-Unterschied Dateien nicht als geändert markiert, sondern zu dieser Meldung führen kann. Wenn Sie die Dateien rm und erneut checkout erstellen, sollten die Zeilenenden auf "good state" (guter Zustand) gesetzt werden, und das Ziehen funktioniert einwandfrei.

2
Andrey Regentov