Jak rozwiązać problem ze statusem gita „Niespołączone ścieżki:”?

84

Połączyłem gałąź dogz animal. Kiedy idę się zaangażować, otrzymuję następujące informacje:

Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution
both deleted:       ../public/images/originals/dog.ai
added by them:      ../public/images/original_files/dog.ai

W każdej gałęzi miałem różne nazwy katalogów i nazwy plików. animalOddział ma zmian, które chcę.

Kiedy idę zresetować głowicę, to nie działa. A kiedy idę wykonać inną akcję git (usunąć, wyewidencjonować itp.), Pojawia się path not foundbłąd.

Jakie polecenia muszę wykonać, aby rozwiązać ten problem?

keruilin
źródło

Odpowiedzi:

82

Wszystko, co powinieneś zrobić, to:

# if the file in the right place isn't already committed:
git add <path to desired file>

# remove the "both deleted" file from the index:
git rm --cached ../public/images/originals/dog.ai

# commit the merge:
git commit
Cascabel
źródło
28
dalsze wyjaśnienia przydałyby się
Francisco Ochoa
50

Innym sposobem radzenia sobie z tą sytuacją, jeśli twoje pliki są już wpisane, a twoje pliki zostały scalone (ale nie zatwierdzone, więc konflikty scalania są wstawiane do pliku), to uruchomienie:

git reset

Spowoduje to przełączenie na HEAD i poinformuje git, aby zapomniał o wszelkich konfliktach podczas łączenia i pozostawił katalog roboczy bez zmian. Następnie możesz edytować pliki, o których mowa (wyszukaj powiadomienia o „zaktualizowanych upstream”). Po uporaniu się z konfliktami możesz biec

git add -p

co pozwoli Ci interaktywnie wybrać zmiany, które chcesz dodać do indeksu. Gdy indeks wygląda dobrze ( git diff --cached), możesz zatwierdzić, a następnie

git reset --hard

aby zniszczyć wszystkie niechciane zmiany w katalogu roboczym.

naught101
źródło
Co to jest "Updated upstream" notices?
Saikat,
2
@takias: znaczniki w każdym pliku, który wygląda tak: <<<<<<< [branch] \n [content] \n ==== \n [content] \n [branch] >>>>>>>. Wydaje mi się, że format mógł się nieco zmienić, odkąd to napisałem, ale na przykład zobacz wincent.com/wiki/Git_merge_conflict_cheatsheet .
naught101