git difftool文件可以通过tab-completion轻松跨越两个分支?

时间:2013-10-21 21:53:21

标签: git version-control kdiff3

我们的git存储库和工作流的配置方式是我们有一个名为“stream-head”的分支,它是主线存储库,然后为我们提交的每个故障单创建单独的分支。我经常发现自己想要将我所使用的票证#分支与流头主线分支进行比较,以查看我所做的更改。

我发现这个命令对打开Kdiff3很有用:

git difftool stream-head:<path_to_file> <ticket_#_branch>:<path_to_file>

示例:

git difftool stream-head:./food/fruit/apple/gala.c ticket12345:./food/fruit/apple/gala.c

唯一的问题是文件通常隐藏在许多子目录下,如上例所示。键入此命令时Tab-completion不可用,因此非常麻烦且容易出错。

如何轻松地跨分支进行视觉差异,而无需手动输入文件的整个路径?

1 个答案:

答案 0 :(得分:2)

以下是可能为您提供自动制表选项的替代规范:

git difftool stream-head ticket12345 ./food/fruit/apple/gala.c

如果您发现自己为开发分支中的许多文件重复执行此操作以查看差异,则使用--dir-diff选项可能会更有效。由于您似乎使用Kdiff3作为diff工具,因此应启动一个窗口,其中包含您指定的两个分支之间的所有文件差异。例如:

git difftool --dir-diff stream-head ticket12345