4

我正在使用 GUI difftool(p4merge、kdiff3、araxis 等)来查看我的 Git 合并。这很好用,但似乎我需要在编辑合并中的每个文件后退出该工具,以便 Git 移动到下一个文件并完成合并。有没有办法避免这种情况?

我可以以某种方式遍历合并中的所有文件而不退出每个文件之间的合并工具吗?更好的是,有没有办法让所有文件一起打开(例如)我可以协调我的合并编辑,可能通过在文件之间来回移动),然后在我完成后关闭合并工具和他们一起?

4

1 回答 1

1

是的,您需要在合并中的每个文件后退出您的 git diff 工具。这就是 git 作为命令行实用程序与 diff 工具进行通信的方式。更重要的问题是:为什么这对你来说是个问题?

如果您想在解决合并冲突时打开另一个文件,则必须运行另一个合并工具实例。--ours您可以通过和--theirs切换到访问其他版本的文件git checkout。但是你可能会更好地使用类似的东西git checkout-index --stage=all,它将所有版本存储在你的临时目录中。

您可以通过运行git mergetool -y而不是git mergetool.

如果您想按特定顺序合并文件,请调用git status以查看需要解析的文件列表,然后调用git mergetool -y <filename>每个文件。

最后但并非最不重要的一点是,您可以使用git gui- 选择需要合并的文件并从右侧面板的上下文菜单中启动合并工具。这样,您可以按任何顺序合并并一次打开多个合并工具。

于 2013-01-29T21:13:04.197 回答