只重做单个文件的合并

我正在进行一次大型合并,我已经使用 git mergetool解决了所有的冲突,但是我还没有提交,因为我想先确保合并没有问题。

事实证明,在解决一个文件中的冲突时,我犯了一个错误,我想用该文件上的 git mergetool重做冲突解决。由于这是一个大型合并,我想避免重做合并的所有其他文件,因为我知道我将不得不与 git merge --abort

我知道我可以只手动编辑文件,但这将是相当繁琐的,它会更容易只是重做 git mergetool操作。这可能吗?

20829 次浏览

您总是可以手动编辑文件。

如果您使用的是 git merge --no-commit,那么您只需要有一个准备好的提交(在自动和半自动)合并之后。

您仍然可以安全地编辑文件,只有在完全满意时才提交。

看来我只是找错了地方,解决办法其实很简单。

git checkout -m <file>

这会将文件返回到冲突状态。然后我可以运行 git mergetool来重做合并。