5

我安装了 meld,运行git mergetool,将左右文件合并到中心文件,保存,然后关闭窗口。我记得其他时候 mergetool 询问合并是否成功,但这次没有(我会回答“是”)。我打开了我的文件,它就像我想要的那样,但是有一个不需要的文件“myfile.orig”,所以我运行git clean -fd并删除了它。然后我做了git add -Agit commit -m 'merged feature-a'。感觉这个过程可能会更短或更干净。

  • 这是发生冲突时合并的正确方法吗?
  • 还有其他方法吗?
4

1 回答 1

0

1:调用外部合并工具后,git 只检查目标文件是否已更新(例如:它的修改日期是否比备份文件的日期更新)。如果是,它认为合并是“成功的”,否则,它会询问问题,看看您是否打算保留原始文件,或者您是否只是没有修复合并。

所以:简单地点击ctrl+Smeld足以跳过这个问题,你应该知道这一点:总是重新阅读你将在冲突后提交的内容。

2:*.orig文件是由 git 在每次解决合并冲突时生成的,通常建议将这些文件添加到您的.gitignore.
我在路径中添加了一个快捷方式find . -name '*.orig' | xargs rm,当我在 IDE 中看到太多 *.orig 文件时,我偶尔会运行该快捷方式。

3:“成功”合并后,git 应该git add自动编辑生成的文件,因此您可以跳过该git add -A步骤。


把它们加起来 :

  • 你所有的步骤都是正确的,
  • 如果您忽略'*.orig'文件,并检查预期的文件是否已暂存,您应该能够git commit在成功解决冲突后直接调用。
于 2020-06-14T12:19:36.560 回答