合并后的每个文件后,我必须退出我的Git diff工具吗?

时间:2013-01-29 19:48:40

标签: git git-merge git-diff

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

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

1 个答案:

答案 0 :(得分:1)

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

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

通过运行git mergetool -y代替git mergetool,您可以使合并变得更加烦人。

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

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