850 Stimmen

Wie ignoriere ich einen Fehler bei 'git pull', der besagt, dass meine lokalen Änderungen durch den Merge überschrieben würden?

Wie ignoriere ich die folgende Fehlermeldung bei Git pull?

Ihre lokalen Änderungen an den folgenden Dateien würden durch den Merge überschrieben

Was ist, wenn ich sie überschreiben möchte?

Ich habe Dinge wie git pull -f ausprobiert, aber nichts funktioniert.

Um es klar zu sagen, ich möchte nur bestimmte Änderungen überschreiben, nicht alles.

2voto

Dmitry Punkte 3571

Ich habe eine Datei in meinem Repo ignoriert und als ich git pull upstream master gemacht habe, bekam ich den folgenden Fehler:

Fehler: Ihre lokalen Änderungen an den folgenden Dateien würden durch den Merge überschrieben werden: myfile.js Bitte commiten Sie Ihre Änderungen oder verstecken Sie diese, bevor Sie mergen. Abbruch

Um es zu lösen, habe ich Folgendes gemacht

git update-index --no-assume-unchanged myfile.js

Dann habe ich git status gemacht und diese Nachricht erhalten

Im Zweig master Ihr Branch ist um 4 Commits hinter 'origin/master' und kann vorgespult werden. (verwenden Sie "git pull", um Ihren lokalen Branch zu aktualisieren)

Nicht für den Commit vorgemerkte Änderungen: (verwenden Sie "git add ..." zum Aktualisieren was committed werden soll) (verwenden Sie "git checkout -- ..." zum Verwerfen Änderungen im Arbeitsverzeichnis)

geändert: myfile.js

keine Änderungen hinzugefügt für den Commit (verwenden Sie "git add" und/oder "git commit -a")

Dann habe ich git checkout myfile.js gemacht, gefolgt von git pull upstream master. Dieses Mal war die Git Pull-Operation erfolgreich.

1voto

Ali Kleit Punkte 2175

Meine Lösung bestand darin, die Dateien außerhalb der IDE zu löschen, die überschrieben werden sollen, und dann pull.

(Sie können immer ein Backup erstellen und nicht verfolgte Daten manuell zusammenführen)

0voto

c33s Punkte 2502

Diese Meldung kann auch auftreten, wenn git-lfs verwendet wird und ein Dateizeiger durch eine echte Datei überschrieben wurde.

dann benutze:

 git stash
git lfs migrate import
git pull

Vollständige Ausgabe aus meinem Fall

 git stash
Arbeitsverzeichnis und Indexstatus auf Master gespeichert: 5d4ad47 Merge-Zweig 'Feature/' in 'Master'
1 Datei(en) wurden erkannt, die Zeiger sein sollten, aber nicht waren:
        public/apple-touch-icon.png

 git pull
Aktualisierung von 5a4ad44..b25f79d
Fehler: Ihre lokalen Änderungen an den folgenden Dateien würden durch den Zusammenführungsprozess überschrieben werden:
        public/apple-touch-icon.png
Bitte übernehmen Sie Ihre Änderungen oder legen Sie sie vor dem Zusammenführen beiseite.
Abbruch

 git lfs migrate import
Migrate: Abrufen von Remote-Referenzen: ..., erledigt
Migrate: Sortieren von Commits: ..., erledigt
Migrate: Commits neu schreiben: 100% (0/0), erledigt
Migrate: Aktualisierung von Referenzen: ..., erledigt
Migrate: checkout: ..., erledigt

 git pull
Aktualisierung von 5d4ad47..a25c79a
Fast-Forward
 public/apple-touch-icon.png | Bin 2092 -> 130 Byte
 public/favicon.ico          | Bin 6518 -> 1150 Byte
 2 Dateien geändert, 0 Zeilen hinzugefügt(+), 0 Zeilen gelöscht(-)

siehe https://github.com/git-lfs/git-lfs/issues/2839

0voto

Munichong Punkte 3745

Für Pycharm kannst du Git-->Revert machen und dann pullen.

0voto

Divyesh Kalbhor Punkte 365

Überprüfen Sie die Datei, die Sie überschreiben und lokale Änderungen verlieren möchten, und dann

git checkout --ours ${filePath}
git merge upstream/master

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X