2010-01-21 1 views

Antwort

83

Überprüfen Sie den Status (git status) Ihres Repositorys. Jede unmerged Datei (nachdem Sie conficts selbst lösen) sollte (git add) hinzugefügt werden, und wenn es keine unmerged Datei sollten Sie git commit

+1

die Datei begehen, dann drücken. – superluminary

+10

Aber was ist, wenn alles festgeschrieben ist ('git status' zeigt ein sauberes Arbeitsverzeichnis) und der obige Fehler immer noch auftritt? –

+1

@Marius Stellen Sie sicher, dass Sie den Standard 'git status' ausführen und nicht irgendeinen Alias, der eine Nachricht ausfiltert. Wenn Sie in der aktuellen Version den git-Status ausführen, zeigt er Ihnen eine Meldung an, was Sie tun sollten, um "merge" abzuschließen. Und wenn Sie absolut sicher sind, dass alles zusammengeführt wurde und Sie nichts verlieren, dann können Sie einfach Dateien in .git/MERGE * entfernen, die speichern, was Sie versucht haben zusammenzuführen, und Standard-Commit-Nachricht für diesen Merge – MBO

26

Hinweis und Update:

Seit Git1.7.4 (Januar 2011), haben Sie git merge --abort auch auf "git reset --merge", wenn eine Zusammenführung läuft.

Aber wenn Sie die Zusammenführung abschließen möchten, während irgendwie nichts übrig bleibt, hinzugefügt werden, dann kann eine grobe rm -rf .git/MERGE* genug sein, damit Git über die aktuelle Zusammenführung zu vergessen.

+0

Wenn Sie MERGE_HEAD entfernen, hat das resultierende Commit nicht nur einen Elternteil Sie werden also nicht die Geschichte der fusionierten Branche haben? –

+0

@JasonGoemaat wenn wir versuchen, * die Zusammenführung * abzubrechen, würde es sowieso keine "resultierende Festschreibung" geben. – VonC

1

Wenn dieser Fehler in SourceTree auftritt, gehen Sie zu Aktionen> Konflikte auflösen> Neu starten.

SourceTree Version verwendet wird, ist 1.6.14.0

4

Die einfachste Lösung, die ich für diese gefunden:

git commit -m "fixing merge conflicts" 
git push 
+0

Eigentlich für mich -m hat nicht funktioniert, es funktionierte ohne -m. –

Verwandte Themen