Это чем-то похоже на git: How to повторить разрешение конфликта слияния (перед фиксацией слияния)? - за исключением того, что я действительно не хочу повторно выполнять слияние.
Это моя проблема: я попытался объединить ветку и получил:
Auto-merging myfile.c
CONFLICT (content): Merge conflict in myfile.c
Хорошо, хорошо, поэтому я делаю как обычно:
git mergetool -t meld myfile.c
Итак, meld
открывается, я делаю слияние, вроде все хорошо... за исключением того, что я компилирую, и он падает.
Я вижу точку, где происходит сбой, поэтому я просто хочу вспомнить то же состояние в meld
, которое было у меня при последнем сохранении в meld
перед его закрытием (что приводит к выходу из mergetool
).
Однако, если я просто повторю команду - она отказывается запускаться:
$ git mergetool -t meld myfile.c
No files need merging
Я еще не коммитил, но как обычно после выхода из mergetool в индекс добавилось myfile.c
.
Обратите внимание, что я не хочу отменять и повторять слияние, потому что мне нужно пройти около 30+ конфликтов, которые все в порядке и не требуют изменений - я просто хочу повторить то же состояние в meld
для myfile.c
, что У меня было при последнем сохранении перед выходом из meld
и mergetool
.
Есть какой-либо способ сделать это?
git checkout -m myfile.c
, чтобы воссоздать конфликтующее состояние. (3) используйте свой любимый метод слияния, отметив, что у вас есть сохраненный файл, чтобы восстановить большую часть того, что вы уже сделали в этом файле. - person torek   schedule 02.02.2021git restore -m -- myfile.c
, снова запустить команду mergetool и вставить содержимое файла в объединенную панель. - person Hasturkun   schedule 02.02.2021git mergetool
) — я просто редактирую файлы напрямую, создаю, тестирую и т. д., пока не буду удовлетворен, а затем запускаюgit add
на разрешенных файлах. Таким образом, я не во власти различных инструментов... - person torek   schedule 02.02.2021