我真的很讨厌使用默认的UNIX diff
工具来显示差异。是否可以使用GUI工具查看git diffs,它可以很好地并排显示本地和远程,类似于如何将mergetool
设置为DiffMerge
以及何时执行
git mergetool myfile.txt
它弹出DiffMerge GUI以便于可视化和合并?我正在使用OSX。
答案 0 :(得分:34)
您可以使用opendiff
。它是一个命令行工具,可以打开FileMerge的GUI。
您可以指示Git自动将git-mergetool
用于:
git config --global merge.tool opendiff
如果你想要它git-difftool
:
git config --global diff.tool opendiff
您还可以通过以下方式禁用每个文件的提示:
git config --global difftool.prompt false
有关详情,请输入:git help config
,然后使用/
搜索不同的选项。
P.S。如果您没有安装opendiff
,可以将其与XCode中的开发人员工具一起安装:https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/opendiff.1.html
UPDATE :在最新版本的XCode中,FileMerge现在与XCode捆绑在一起。您无法将FileMerge安装为独立程序。 opendiff
仍在其命令行实用程序中,它们是独立的。
答案 1 :(得分:2)
Perforce的P4Merge相当不错,独立的P4Merge应用程序是免费的。您可以在http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools
获取另外,如果你使用的是SublimeText,那么http://www.sublimerge.com/也是一个很好的工具。
答案 2 :(得分:1)
即使您不使用Python,安装PyCharm也因其出色的Git集成而值得。它是一个很好的通用编辑器,并且具有很好的可视化diff + merge工具。合并工具包括一个带有直观代码块选择的三窗格界面。社区版是免费的,并且可以在我安装的MacOS High Sierra上使用。
答案 3 :(得分:1)
我为此使用BBEdit。我认为它的差异显示效果很好。我已将其设置为我的git外部差异工具。
答案 4 :(得分:0)
如果在Mac上使用Visual Studio Code,则可以安装Diff Folder扩展名以比较已签出代码的文件和文件夹。
它非常可配置-可以排除基于regexp的文件,将文件diff打开到侧面等。
它也易于使用!
答案 5 :(得分:-4)
如果您有两个不同的文件,WinMerge会做一个非常好的并排比较。我不知道它是否适用于非Windows平台。此外,一些系统会让你选择自己的比较工具,而其他系统则硬编码为特定的东西 - 我不知道你的Git环境。