1

我们的 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

唯一的问题是文件通常隐藏在许多子目录下,如您在上面的示例中所见。键入此命令时无法使用制表符补全,因此非常繁琐且容易出错。

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

4

1 回答 1

2

这是一个替代规范,它可能会为您提供自动制表符补全:

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

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

git difftool --dir-diff stream-head ticket12345
于 2013-10-22T00:36:00.333 回答