Как разрешить git status «Unmerged paths:»?


84

Я слил ветку dogв animal. Когда я совершаю коммит, я получаю следующее:

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

У меня были разные имена каталогов и имена файлов в каждой ветке. В animalветке есть нужные мне изменения.

Когда иду сбросить голову, не получается. И когда я пытаюсь выполнить любое другое действие git (удалить, оформить заказ и т. Д.), Я получаю сообщение path not foundоб ошибке.

Какие команды мне нужно выполнить, чтобы решить эту проблему?

Ответы:


82

Все, что вам нужно сделать, это:

# 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

28
дальнейшие объяснения могут пригодиться
Франсиско Очоа

50

Другой способ справиться с этой ситуацией, если ваши файлы уже зарегистрированы, и ваши файлы были объединены (но не зафиксированы, поэтому конфликты слияния вставлены в файл) - это запустить:

git reset

Это переключится на HEAD и скажет git забыть о любых конфликтах слияния и оставить рабочий каталог как есть. Затем вы можете отредактировать файлы, о которых идет речь (ищите уведомления «Обновленные исходные данные»). Разобравшись с конфликтами, можно запустить

git add -p

что позволит вам в интерактивном режиме выбрать, какие изменения вы хотите добавить в индекс. Как только индекс будет выглядеть хорошо ( git diff --cached), вы можете зафиксировать, а затем

git reset --hard

чтобы уничтожить все нежелательные изменения в вашем рабочем каталоге.


Что есть "Updated upstream" notices?
Saikat 07

2
@takias: маркеры в каждом файле , которые выглядят как: <<<<<<< [branch] \n [content] \n ==== \n [content] \n [branch] >>>>>>>. Я думаю, что формат, возможно, немного изменился с тех пор, как я написал это, но см. Wincent.com/wiki/Git_merge_conflict_cheatsheet для примера.
naught101 07
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.