合并每个文件后是否必须退出 Git diff 工具?

oro*_*ome 5 git git-diff git-merge

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

我是否可以以某种方式迭代合并中的所有文件,而无需退出每个文件之间的合并工具?更好的是,有没有一种方法可以将所有文件一起打开(例如,这样我就可以协调我的合并编辑,可能通过在文件之间来回移动),然后在完成后关闭合并工具和他们所有人一起?

Chr*_*ial 1

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

\n\n

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

\n\n

git mergetool -y您可以通过运行而不是运行来使合并稍微不那么烦人git mergetool

\n\n

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

\n\n

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

\n