Повторить слияние только одного файла


Я в середине большого слияния, и я использовал git mergetool разрешить все конфликты, но я еще не совершил, так как хотел убедиться, что слияние было в порядке.

оказывается, я допустил ошибку при разрешении конфликтов в одном файле, и я хотел бы повторить разрешение конфликта с git mergetool в этом файле. Поскольку это большое слияние, я хотел бы избежать повторения слияния на всех других файлах, поскольку я понимаю, что мне придется делать git merge --abort.

Я знаю, что могу просто отредактировать файл вручную, но это было бы довольно утомительно, и было бы намного проще просто переделать git mergetool операции. Это возможно?

2 81

2 ответа:

Кажется, я просто искал не в том месте. Решение оказалось довольно простым.

git checkout -m <file>

Это возвращает файл в состоянии конфликта. Тогда я могу запустить git mergetool чтобы повторить слияние.

вы всегда можете редактировать файлы вручную.

Если вы используете git merge --no-commit, то вы просто будете иметь подготовленную фиксацию (после автоматического и полуавтоматического) слияния.

вы все еще можете безопасно редактировать файлы и совершать только тогда, когда полностью удовлетворены.