macos-使用自制版本从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的情况下进行更改?

BetaRide asked 2020-07-31T04:05:55Z
3个解决方案
56 votes

Xcode实际上使用的是存储在PATH=/usr/local/bin:$PATH中的GIT。当您将命令行工具作为Xcode安装的一部分进行安装时,相同版本的GIT也会安装在.bashrc中。 因此,您将无法更改正在使用的Xcode(除非您愿意考虑Xcode软件包的内容)。 如果从终端应用程序中,要使用自制安装的GIT,则有两个选择:

  1. 引用GIT,完整路径为PATH=/usr/local/bin:$PATH。在这种情况下,您可以创建一个别名为.bashrc的别名,然后从终端使用.zshrc
  2. 如果使用zsh文件(或每次在命令行启动终端),请在.bashrc.zshrc中将路径更改为PATH=/usr/local/bin:$PATH
GoZoner answered 2020-07-31T04:06:23Z
14 votes

由于Xcode硬编码了自己的git版本,该版本安装在/usr/local/Cellar/git/1.8.0/bin/git上,因此我设法解决了这一难题:

  1. 切换到Xcode目录:

    /usr/local/Cellar/git/1.8.0/bin/git

  2. 像这样重命名Xcode的git:

    /usr/local/Cellar/git/1.8.0/bin/git

  3. 链接通过自制软件安装的我自己的git:

    /usr/local/Cellar/git/1.8.0/bin/git

我对/usr/local/Cellar/git/1.8.0/bin/git也做了同样的事情

这实际上就像/usr/local/Cellar/git/1.8.0/bin/git(因为目前使用git 1.8.0)

当然,这可能会引起其他问题,例如将来我升级自制版本git时,它对我不起作用:(然后我必须建立一个新链接。

我这样做是因为我想在这里解决我自己的问题13177203。经过长时间搜索StackOverFlow,我终于得到了这个解决方案。

oppih answered 2020-07-31T04:07:15Z
8 votes

如果您使用鱼壳而不是bash,则可以通过将以下内容添加到~/.config/fish/config.fish中来指向首选的git二进制文件。

function git
  /usr/local/bin/git $argv; 
end
Paul Wenzel answered 2020-07-31T04:07:35Z
translate from https://stackoverflow.com:/questions/10449374/override-git-from-xcode-with-homebrew-version