使用自制软件版本覆盖Xcode的Git
我已经安装了XCode,因此git也在那里。 因为我想有一个新版本的git我安装使用自制软件。
但是自制版本的git从来没有被调用,因为我的PATH看起来像这样
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
这意味着/usr/bin/git
总是在/usr/local/bin/git
之前调用。
有没有办法改变,而不改变PATH?
Xcode实际上是使用存储在/Applications/Xcode.app/Contents/Developer/usr/bin
的GIT。 当您安装命令行工具作为Xcode安装的一部分时,相同版本的GIT将安装在/usr/bin
。 所以,你将无法改变Xcode正在使用的东西(除非你愿意弄乱Xcode包的内容)。 如果从terminal应用程序,你想使用自制安装的GIT,那么你有两个select:
- 引用GIT的完整path为
/usr/local/bin/git ...
对于这种情况,您可以创buildalias mgit=/usr/local/bin/git
,然后使用mgit ...
从terminal - 如果您使用zsh文件(或者每次在命令行启动terminal),请将path更改为
PATH=/usr/local/bin:$PATH
为.bashrc
或.zshrc
。
由于Xcode硬编码自己的版本的git安装在/Applications/Xcode.app/Contents/Developer/usr/bin/git
,我设法使用这个解决方法:
-
改成Xcode目录:
cd /Applications/Xcode.app/Contents/Developer/usr/bin
-
重命名Xcode的git像这样:
sudo mv ./git ./git-xcode-usr-bin
-
链接我自己通过自制安装的git:
sudo ln -s /usr/local/bin/git ./git
我用/usr/bin/git
做了同样的事情
这将acctually链接/usr/local/Cellar/git/1.8.0/bin/git
(因为我使用git 1.8.0在目前)
当然,这可能会导致一些其他的问题,比如我在将来升级自制软件git的时候,对我不起作用:(那么我就必须build立一个新的连接。
我这样做是因为我想在这里解决我自己的问题13177203 。 而且在长时间searchStackOverFlow之后,我终于得到了这个解决scheme。
如果你使用的是~/.config/fish/config.fish
而不是bash,你可以通过在~/.config/fish/config.fish
添加以下内容来指向你的首选git二进制文件。
function git /usr/local/bin/git $argv; end