git difftool文件可以轻松跨两个分支使用制表符完成吗?

git difftool文件可以轻松跨两个分支使用制表符完成吗?,git,version-control,kdiff3,Git,Version Control,Kdiff3,git存储库和工作流的配置方式是,我们有一个名为“streamhead”的分支,它是主线存储库,然后为提交工作的每个票据创建单独的分支。我经常发现自己想要将我所在的票务分支与stream head主线分支进行比较,以查看我所做的更改 我发现这个命令对打开Kdiff3很有用: git difftool stream-head:<path_to_file> <ticket_#_branch>:<path_to_file> 唯一的问题是文件通常被隐藏在许多子目录下

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

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

git difftool stream-head:<path_to_file> <ticket_#_branch>:<path_to_file>
唯一的问题是文件通常被隐藏在许多子目录下,如上面的例子所示。键入此命令时,制表符完成不可用,因此它非常繁琐且容易出错


如何在不必手动键入文件的整个路径的情况下轻松地跨分支执行视觉差异?

这里有一个替代规范,可以让您自动完成选项卡:

git difftool stream-head ticket12345 ./food/fruit/apple/gala.c
如果您发现自己对开发分支中的许多文件重复执行此操作以查看差异,那么使用
--dir diff
选项可能会更有效。由于您似乎正在使用Kdiff3作为您的diff工具,因此应该会启动一个窗口,其中包含您指定的两个分支之间的所有文件差异。例如:

git difftool --dir-diff stream-head ticket12345

git difftool stream head ticket12345./food/fruit/apple/gala.c
正是我想要的。标签完成工作的文件路径,谢谢。
git difftool --dir-diff stream-head ticket12345