2010-01-21 9 views

Odpowiedz

83

Sprawdź status (git status) swojego repozytorium. Każdy plik niescalone (po rozwiązaniu conficts przez siebie) powinny być dodane (git add), a jeśli nie ma pliku niescalone zalecana git commit

+1

popełnić plik, a następnie wcisnąć. – superluminary

+10

Ale co, jeśli wszystko jest zatwierdzone ("status git" pokazuje czysty działający katalog) i powyższy błąd nadal występuje? –

+1

@Marius Upewnij się, że używasz standardowego 'git status', a nie jakiegoś aliasu, który odfiltrowuje jakąkolwiek wiadomość. W aktualnej wersji, gdy uruchomisz status git, wyświetli ci komunikat, co powinieneś zrobić, aby "zakończyć scalanie". A jeśli jesteś absolutnie pewny, że wszystko zostało scalone i nic nie stracisz, możesz po prostu usunąć pliki z .git/MERGE *, które przechowują to, co próbujesz scalić, oraz domyślny komunikat zatwierdzający dla tego połączenia. – MBO

26

Uwaga a zmiana:

Od Git1.7.4 (styczeń 2011), masz git merge --abort , synonim "git reset --merge", gdy trwa scalanie.

Ale jeśli chcesz dokończyć scalanie, podczas gdy jakoś nic nie pozostaje do dodania, to prymitywny rm -rf .git/MERGE* może wystarczyć, aby Git zapomniał o aktualnym scaleniu.

+0

jeśli usuniesz MERGE_HEAD, czy wynikowe zatwierdzenie nie będzie miało tylko jednego rodzica więc nie będziesz mieć historii połączonego oddziału? –

+0

@JasonGoemaat biorąc pod uwagę, że staramy się * przerwać * scalanie, i tak nie będzie "wynikowego zatwierdzenia". – VonC

1

Jeśli napotkasz ten błąd w SourceTree, przejdź do Działania> Rozwiąż konflikty> Uruchom ponownie scalanie. Wersja

SourceTree stosowany jest 1.6.14.0

4

Najprostszym rozwiązaniem znalazłem na to:

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

Właściwie dla mnie -m nie działało, działało bez -m. –