Jak zakończyć łączenie pliku?


104

Po scaleniu pliku w Git próbowałem ściągnąć repozytorium, ale pojawił się błąd:

Nie zakończyłeś łączenia. (MERGE_HEAD istnieje)

Jak można zakończyć scalanie?

Odpowiedzi:


94

Sprawdź status ( git status) swojego repozytorium. Każdy niescalony plik (po samodzielnym rozwiązaniu konfliktów) powinien zostać dodany ( git add), a jeśli nie ma niescalonego pliku, należygit commit


11
Ale co, jeśli wszystko jest popełnione ( git statuspokazuje czysty katalog roboczy), a powyższy błąd nadal występuje?
Marius Soutier

1
@Marius Upewnij się, że używasz standardu, git statusa nie jakiegoś aliasu, który odfiltrowuje każdą wiadomość. W obecnej wersji, kiedy uruchomisz status git, pokaże ci komunikat, co powinieneś zrobić, aby „zakończyć scalanie”. A jeśli jesteś absolutnie pewien, że wszystko zostało scalone i niczego nie stracisz, możesz po prostu usunąć pliki w .git / MERGE *, które przechowują to, co próbujesz scalić, i domyślny komunikat o zatwierdzeniu dla tego scalenia
MBO

1
Dzięki, to właśnie ostatecznie zrobiłem, ale w jakiś sposób wydaje mi się, że to błąd. Jak może istnieć MERGE_HEAD, jeśli wszystko scaliłeś i zatwierdziłeś?
Marius Soutier

2
Tak, miałem ten sam problem, co Marius, dokonałem fuzji, rozwiązałem konflikty, ale nie mam teraz nic do zrobienia (jakoś). Musiałem ręcznie usunąć pliki MERGE * zgodnie z sugestią.
Simon East

@johndpope power ("tnx", 100)
knagode,

32

Uwaga i aktualizacja:

Od wersji Git1.7.4 (styczeń 2011) masz git merge --abortsynonim „ git reset --merge”, gdy trwa scalanie.

Ale jeśli chcesz dokończyć scalanie, podczas gdy w jakiś sposób nie pozostaje nic do dodania, wtedy surowy rm -rf .git/MERGE*może wystarczyć, aby Git zapomniał o bieżącym scalaniu.


jeśli usuniesz MERGE_HEAD, czy wynikowe zatwierdzenie nie będzie miało tylko jednego rodzica, więc nie będziesz mieć historii scalonej gałęzi?
Jason Goemaat

@JasonGoemaat biorąc pod uwagę, że próbujemy przerwać scalanie, i tak nie byłoby „wynikowego zatwierdzenia”.
VonC


1

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

Użyta wersja SourceTree to 1.6.14.0


0

Miałem ten sam błąd i śledziłem artykuł znaleziony w Google, który rozwiązuje mój problem. Nie zakończyłeś łączenia


Link do rozwiązania jest zawsze mile widziany, ale prosimy o dodanie podstawowych informacji do odpowiedzi, ponieważ łącze może być nieaktualne.
slfan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.