gitx有一个很好的diff查看器,我如何使git自动将git管到Gitx中?
我尝试将git diff.external设置为类似于以下内容的shell脚本:
git diff "$2" "$5" | gitx但是,这只会将所有单独的文件打开到多个gitx窗口中,它确实会混淆文件名(将它们全部更改为带有疯狂名称的tmp文件)。
有人有更好的解决方案吗?
发布于 2009-08-09 13:38:43
就像西格鲁在上面说的那样。只需要知道如何“连接”git才能使用它(就像我现在一样)。以下是我所做的
echo 'opendiff $2 $5' > ~/opendiff-git.sh
chmod a+x ~/opendiff-git.sh
git config --global diff.external ~/opendiff-git.sh 现在所有的“差别”应该打开FileMerge.app .
发布于 2009-04-10 09:13:13
很抱歉这并没有真正回答你关于gitx的问题。我甚至不确定gitx是否可以作为一个通用的diff工具。您可能喜欢FileMerge,这是Xcode安装中包含的一个合并/diff工具。有一个名为opendiff的脚本可以为您启动它。只需使用下面一行创建一个脚本,并将diff.external指向它。
opendiff $2 $5发布于 2009-04-10 16:43:31
我是为Araxis合并这样做的,但是修改这些基本指令对于您推断的工具来说并不难。
首先,我创建了~/bin/git-diff-driver.sh,并在文件中添加了执行权限。
#!/bin/sh
/usr/local/bin/compare -title1:"$1 (repo version)" -title2:"$1 " -max "$2" "$5"Araxis在/usr/local/bin中安装它的命令行接口工具,比较工具是它们的通用工具,araxis*工具提供比较。
设置好后,需要将以下行添加到~/..gitconfig中
[merge]
tool = araxismerge
[mergetool "araxismerge"]
cmd = "/usr/local/bin/compare -3 -merge -wait $LOCAL $BASE $REMOTE $MERGED"
path = /usr/local/bin/
[diff]
external = "/Users/mark/bin/git-diff-driver.sh"这重定向所有双向和3路差异通过阿拉西斯合并.似乎"path =“不应该是必要的,但它是有效的。
祝好运。
https://stackoverflow.com/questions/736911
复制相似问题