有没有办法在SourceTree的两个分支上获得视觉差异?


176

Sourcetree是否提供可视化git分支之间差异的方法?

我在找:

  • 已更改文件的名称
  • 这些文件之间的差异

Answers:


228

使用(OSX)或CTRL(Windows和Linux),然后在日志视图中选择任意两个提交。提交属于哪个分支都没有关系。

结果,您将看到类似...

显示f03a18bf0370c62bb5fb5c6350589ad8def13aea和4a4b176b852e7c8e83fffe94ea263042c59f0548之间的所有更改

...在下面。


那是很直观的事情,我尝试过。由于某些原因,它无法在以下版本上运行:Mavericks 10.9.5上的2.1。奇怪的是,下面的命令似乎有效。
einarc '16

对于像我这样的人,CMD = Command⌘。答案基本上是建议您是否多选两个提交,Sourcetree会自动显示差异。我更喜欢Gan的答案,但是如果这是更通用的话。
KC Baltz

2
是关于向GitKraken询问相同的事情,事实证明它的工作原理类似
Jeroen

太棒了 即使一个分支是本地分支,另一个分支是我要强制推送的远程分支,它也可以工作
逆向工程师

188

执行此操作的另一种方法是右键单击分支,然后选择“与当前差异”上下文菜单命令(“ 当前”是指您当前正在处理的分支)。这将为您提供两个分支的头提交之间的区别。

资料来源:https : //answers.atlassian.com/questions/167126/sourcetree-diff-against-current-behavior#

屏幕截图(基于Sourcetree v1.9.5):

在此处输入图片说明

从上下文菜单中选择“与当前差异”后,您应该看到一条消息,其效果如下:

显示{commit_hash}和工作副本之间的所有更改

选择“与当前不同”后,您应该在消息“显示{commit_hash}与工作副本之间的所有更改”下方看到已更改文件的列表。


1
这个为我工作。使用直观的Command并没有。
einarc '16

“与大师不同”将是一个很好的补充。如果选择master并“相对于当前差异”,则会看到当前要素分支的反向差异。
BricoleurDev

这就是我想要的
yBother

18

您也可以通过ctrl +单击要比较的两个分支提交来执行此操作。


0

您也可以使用外部差异工具。例如,我正在使用“超越比较”。在sourcetree中将其设置为外部差异工具后,可以使用CTRL选择要比较的两个文件,然后按CTRL + D。因此,将启动“超越比较”,同时准备比较两个文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.