首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用opendiff作为默认合并工具

如何使用opendiff作为默认合并工具
EN

Stack Overflow用户
提问于 2012-12-05 08:36:19
回答 3查看 30.8K关注 0票数 23

嗨,我试图使用opendiff作为git mergetool,但是当我运行mergetool时,我会得到以下错误消息:

合并工具opendiff不可用为“opendiff”。

我做错了什么?它以前运行得很好,但是自从我安装了一个新的硬盘之后,它就不再工作了:

EN

回答 3

Stack Overflow用户

发布于 2014-09-02 14:18:18

您需要将opendiff配置为全局merge.tool:

代码语言:javascript
复制
# locate xcode utilities
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

# set "opendiff" as the default mergetool globally
git config --global merge.tool opendiff

如果您获得了Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo,打开XCode并接受许可解决了问题

票数 31
EN

Stack Overflow用户

发布于 2013-03-08 00:39:43

确保安装了XCode。(如果您使用的是git,那么您可能使用brew,在这种情况下,您可能已经安装了XCode。)

一次性解决方案是告诉git您想使用什么工具:

代码语言:javascript
复制
$ git mergetool -t opendiff

至于将opendiff设置为默认工具,则需要在git配置文件中设置"merge.tool“变量。

票数 17
EN

Stack Overflow用户

发布于 2016-04-25 13:08:54

git支持--dir-diff (-d)来执行目录diff,这在FileMerge中很好。但是,使用opendiff和--dir-diff存在一些小问题。opendiff没有-合并目标预置,而且git会过早地删除临时文件以保存更改。我的工作是使用一个小bash脚本来调用FileMerge。我叫它gdiff

代码语言:javascript
复制
#!/bin/bash
# find top level of git project
dir=$PWD
until [ -e "$dir/.git" ]; do
  if [ "$dir" == "/" ]; then
    echo "Not a git repository" >&2
    exit 1;
  fi
  dir=`dirname "$dir"`
done
# open fresh FileMerge and wait for termination
open -a FileMerge -n -W --args -left "$1" -right "$2" -merge "$dir"

https://gist.github.com/miner/e73fc98a83a8fe05d9ef000d46d68a9f

就这样说吧:

git difftool -d -x gdiff

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13719122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档