首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用opendiff和git diff而不需要安装整个Xcode应用程序?

如何使用opendiff和git diff而不需要安装整个Xcode应用程序?
EN

Stack Overflow用户
提问于 2019-10-26 19:46:22
回答 2查看 1.2K关注 0票数 2

升级到MacOS Mojave后,我的gitopendiff停止工作(我的opendiff通常由git diff调用)。

我是able to get git working, by using the following two lines

代码语言:javascript
复制
xcode-select --install
sudo xcode-select -switch /Library/Developer/CommandLineTools

但是opendiffgit diff仍然不能工作。似乎一种解决方案是安装Xcode应用程序,它很大(据说要占用硬盘10 up )。我检查了Spotlight并输入了FileMerge,能够找到它,它应该与opendiff相同,并且能够使用ps ax找到路径/Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/MacOS/FileMerge。但是,使用git diff时,我实际上使用了一个bash脚本来调用

代码语言:javascript
复制
#!/bin/sh 
/usr/bin/opendiff "$2" "$5" -merge "$1" | cat

(请参阅此github article about how to set up git-diff-cmd.sh)

因此,我将第二行改为:

代码语言:javascript
复制
/Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/MacOS/FileMerge "$2" "$5" -merge "$1" | cat

但它不起作用。所以FileMerge是存在的,看起来opendiff就是FileMerge。可以让git diff在不安装整个Xcode应用的情况下工作吗?

EN

回答 2

Stack Overflow用户

发布于 2019-10-26 19:54:01

这可能看起来像是一个黑客攻击,实际上它似乎正在使用现有的XCode安装:

我做到了

代码语言:javascript
复制
cd /Applications/Xcode.app
find . -iname '*opendiff*'

并且能够找到

代码语言:javascript
复制
./Contents/Developer/usr/bin/opendiff
./Contents/Developer/usr/libexec/git-core/mergetools/opendiff

第一个文件是一个二进制文件,第二个文件实际上是一个脚本,因此我将我的bash脚本git-diff-cmd.sh更改为:

代码语言:javascript
复制
#!/bin/sh 
/Applications/Xcode.app/Contents/Developer/usr/bin/opendiff "$2" "$5" -merge "$1" | cat

git diff可以成功地调用opendiff进行可视化比较。

票数 1
EN

Stack Overflow用户

发布于 2019-10-26 21:14:40

在不需要安装整个XCode应用程序的情况下,git diff可以工作吗?

改为安装整个BBEdit应用程序。它体积小,效率高,视觉效果非常好。

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

https://stackoverflow.com/questions/58570465

复制
相关文章

相似问题

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