Перезапустить / отменить разрешение конфликтов в одном файле

189

В более крупном git-слиянии с несколькими конфликтующими файлами я неправильно пометил файл как разрешенный (используя git add FILEпосле некоторого редактирования)

Теперь я хотел бы отменить мою попытку разрешения конфликта и начать с разрешения этого файла.

Как я могу это сделать?

Алекс Краусс
источник
1
см. здесь: stackoverflow.com/questions/373812/…
RandomUs1r

Ответы:

335

Нашел решение здесь: http://gitster.livejournal.com/43665.html

git checkout -m FILE

Это восстанавливает неразрешенное состояние, включая всю информацию о родителе и базе слияния, что позволяет перезапустить разрешение.

Алекс Краусс
источник
3
+1; это актуальное решение :) git resetне трогать файл.
тыкай
4
У меня не сработало, файл все еще помечен both modified(в состоянии конфликта)
Gaui
Это действительно помогло мне, так как вернуло файл в состояние до конфликта. Что интересно, вместо того, чтобы две точки слияния назывались «голова» и {REVISION}, теперь они называются «наши» и «их».
TGP1994
26
msgstr "файл все еще отмечен both modified". Это именно тот результат, о котором идет речь.
Кевин Смит
2
-mкак в--merge
kontur
0
git reset HEAD FILE

пример

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
Стивен Пенни
источник
6
Когда я делаю это и запускаю git statusпотом, FILEпоявляется под заголовком «Изменения не подготовлены для фиксации». Тем не менее, я ожидаю, что он будет отображаться в разделе «Unmerged paths», так что моя IDE подберет его для повторного слияния ...
Alex Krauss