Насколько я знаю, вы не сможете зафиксировать, пока файл все еще содержит маркеры конфликта. ... что не совсем верно:
ОП упоминает, что вы можете (я копирую здесь его pastbin ), но этого недостаточно для повторного запуска mergetool:
Auto-merged README
CONFLICT (content): Merge conflict in README
Automatic merge failed; fix conflicts and then commit the result.
lynx:~/test_clone$ ls
README
lynx:~/test_clone$ git add README
lynx:~/test_clone$ git commit -a
Created commit 46ee062: It works!
lynx:~/test_clone$ ls
README
lynx:~/test_clone$ cat README
<<<<<<< HEAD:README
testingtesting
=======
hmm
>>>>>>> 881d60f5f738bc5716f5c9a9384e262b535717fd:README
lynx:~/test_clone$
Как Чарльз Бэйли комментирует и иллюстрирует в этом SO ответе , запрос mergetool, поскольку в индексе есть 3 экземпляра одного файла 1015 *
Для неотправленного файла в конфликте git делает доступной общую базовую, локальную и удаленную версии файла в индексе. (Здесь они читаются для использования в инструменте 3-way diff git mergetool
.) Вы можете использовать git show для их просмотра:
# common base:
git show :1:afile.txt
# 'ours'
git show :2:afile.txt
# 'theirs'
git show :3:afile.txt
git add
(с любым содержимым, включая маркеры конфликтов) автоматически удалит 2 из них, гарантируя, что mergetool
не будет вызван снова.