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


189

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

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

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


Ответы:


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.