Wonderffee's Blog

A blogging framework for hackers.

推荐Git可视化比较工具P4Merge

一向对命令行下的文本比较工具无爱,在MacOS下用Git也是这点比较麻烦,今天终于让我找到了一个Git的GUI比较工具P4Merge,免费的,支持中文,还不错,推荐一下

配置P4Merge时主要参考了这篇文章Git、P4merge 和 OS X,只是留的坑太多了,好不容易才让我搞定。

关于下载:
打开这个链接: perforce-visual-merge-and-diff-tools,点左上角的“FREE DOWNLOAD P4Merge”, 找到Perforce Clients中的”P4Merge: Visual Merge Tool”项,在右边的第二行选择Mac OS 10.6+ (64bit),点下面橙色的“Accept and Download”,选择跳过Skip Registration,就会开始下载了。

下载到P4V.dmg文件后,双击打开,拖动P4Merge到Application文件夹上就可以完成安装了。

下面开始配置,这个原文留下的坑就太多了:

1
2
3
git config --global diff.tool p4merge
git config --global difftool.p4merge.cmd /Applications/p4merge.app/Contents/MacOS/p4merge
git config --global difftool.p4merge.cmd "/Applications/p4merge.app/Contents/Resources/launchp4merge \$LOCAL \$REMOTE"

如果直接复制原文的代码,运行上面的代码时会提示:
error: key does not contain a section: -global
跟别人的命令比较一下,就会发现应该是—global(要两个短横连在一起的),原文的短横线有问题

现在敲git difftool命令执行时,会提示:

1
/usr/libexec/git-core/mergetools/p4merge: line 2: p4merge: command not found

原因是路径还需要再配置一下,如下,蛋疼。。。

ang:bash
1
git config --global difftool.p4merge.path "/Applications/p4merge.app/Contents/Resources/launchp4merge"

自己还尝试过用软链接来解决这问题,如下:

1
ln -s /Applications/p4merge.app/Contents/MacOS/p4merge /usr/local/bin/p4merge

结果报了一个error loading resource file问题,这个就不要使用了。

以后想要比较Git中的代码时,敲git difftool filepath 就行了

Linux、Windows下也都可以使用这个工具进行比较代码,只是需要另行配置了。P4Merge除了有比较功能,还有合并功能,怎么配置可以借鉴下面给出的参考链接。另外还有一个可视化比较工具meld,据说也不错,有时间试试

主要参考:
Git、P4merge 和 OS X
Mac os x下git merge工具P4Merge的安装与配置
git用户信息
Setup p4merge as a visual diff and merge tool for git