如何在SourceTree中链接外部差异工具(Beyond Compare)?

10
我正在使用Windows 7上的Git SourceTree客户端。我已经在Mercurial TortoiseHG客户端中使用了Beyond Compare,并希望在SourceTree中将Beyond Compare作为diff工具。我在“工具” -> “选项”中将diff工具设置为Beyond Compare,但不确定如何通过SourceTree启动diff工具以查看任何文件的差异。通常双击文件应该会打开差异视图。右键单击 -> “自定义操作”也没有反应。
Beyond Compare版本为3.3.13,SourceTree版本为2.1.2.5。
请告诉我如何配置此功能。
3个回答

12

对我有用:

  1. 安装后,请检查是否在 SourceTree 选项中设置了以下内容:

使用 Beyond Compare 连接 SourceTree

  1. 右键单击您想要比较的文件并启动 Beyond Compare

启动 BeyondCompare 工具

Beyond Compare 4.2.2 & SourceTree 2.1.2.5

还请确保你的 Beyond Compare 试用期没有结束


不,这是一份有许可的副本。我已经完成了第一部分。刚刚意识到它按照您在第2点中所说的方式处理未暂存的文件。谢谢。但是对于已提交的文件或已推送的文件,比如我想要旧版本中文件的差异,它是否也适用? - vinmm
很抱歉,您不能对已提交或推送的文件执行此操作。在应用存储时,如果出现合并冲突,我通常使用Beyond Compare,因为此时文件位于未暂存区域。如果您想要检查旧版本的差异,则可以在Bitbucket网站上使用并排差异(假设您正在使用Bitbucket进行版本控制)。 - Sahan Serasinghe
1
好的,那我就直接使用 Bitbucket 吧。在 tortoiseHg 中,即使是旧的提交,我也能够通过双击在 beyond compare 中查看差异。那里非常方便易用。感谢您提供的信息。我已经接受了您上面的答案。 - vinmm
@vinmm 是的,我也尝试过同样的事情,但是在SourceTree上我做不到。谢谢你接受它,这对其他人也会有帮助 :) - Sahan Serasinghe
我们可以查看已经推送的提交记录的差异。在日志/历史记录部分选择所需的文件,然后单击窗口极右侧中心具有排序文件选项的栏上的设置图标,该窗口带有下拉选项。然后选择外部差异。它会在选择的差异工具中打开。 - vinmm
无论如何,选定文件后,您可以单击Ctrl+D。 - Mahou5

1
除了文件比较/合并之外,我使用Sourcetree的自定义操作来将两个提交作为文件夹进行比较。
假设git和Beyond Compare已经加入到PATH环境变量中,您可以在Sourcetree(工具>选项>自定义操作)中添加以下自定义操作:
Script: git
Parameters: difftool -d --tool=bc4 $SHA

已测试使用Sourcetree 3.4.8、git 2.35和Beyond Compare 4.4.2


0

以下是我用几个简单的步骤解决的:

  1. 按照官方文档的说明,配置git使用beyond control作为diff和merge工具。 https://www.scootersoftware.com/support.php?zz=kb_vcs#gitwindows

  2. 设置sourcetree自定义命令,通过选择两个类似于TortoiseHG的提交来启用Beyond compare进行差异比较。

SourceTree->Tools->Options->Custom Actions

要运行的脚本:git

参数:difftool --dir-diff $SHA


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接