使用自制软件版本从Xcode覆盖git

Bet*_*ide 43 git macos xcode homebrew path

我已经安装了XCode,因此git也在那里.因为我想使用自制软件安装更新版本的git.

但是自从我的PATH看起来像这样,自制的git版本从未被调用过

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)

这意味着/usr/bin/git以前总是被称为/usr/local/bin/git.

有没有办法在不改变PATH的情况下改变它?

GoZ*_*ner 56

Xcode实际上使用的是存储的GIT /Applications/Xcode.app/Contents/Developer/usr/bin./usr/bin当您在Xcode安装过程中安装命令行工具时,会安装相同版本的GIT .因此,您将无法更改Xcode正在使用的内容(除非您愿意使用Xcode包的内容).如果从终端应用程序中想要使用自制软件安装的GIT,那么您有两个选择:

  1. 使用完整路径引用GIT./usr/local/bin/git ... 对于这种情况,您可以创建一个别名alias mgit=/usr/local/bin/git,然后mgit ...从终端使用
  2. PATH=/usr/local/bin:$PATH在您.bashrc.zshrc您使用zsh文件时(或每次在命令行启动终端时)更改路径.

  • 在OS X Mountain Lion上,我使用".bash_profile"而不是".bashrc" - 我已经这样做多年了,虽然我不知道我在哪里学习它,或者为什么它可以工作(和.bashrc没有.) (4认同)

opp*_*pih 14

由于Xcode硬编码了自己安装的git版本/Applications/Xcode.app/Contents/Developer/usr/bin/git,我设法使用这个工作:

  1. 切换到Xcode目录:

    cd /Applications/Xcode.app/Contents/Developer/usr/bin

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

    sudo mv ./git ./git-xcode-usr-bin

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

    sudo ln -s /usr/local/bin/git ./git

我做了同样的事情 /usr/bin/git

这将实际链接/usr/local/Cellar/git/1.8.0/bin/git(因为我目前使用的是git 1.8.0)

当然这可能会导致一些其他问题,例如当我将来升级自制软件的版本git时,它对我不起作用:(然后我必须创建一个新的链接.

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

  • 虽然总的来说我避免弄乱像这样的包,我确实使用了这个答案.由于git 1.8中`push.default`选项的改变,Xcode给了我以下错误,并且不允许我向我的项目添加资源:`error:push.default的格式错误:简单.错误:必须是无,匹配,跟踪或当前之一.致命:.gitconfig`的错误配置文件第7行.另一种选择是将我的gitconfig更改回1.7设置. (2认同)

Pau*_*zel 8

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

function git
  /usr/local/bin/git $argv; 
end
Run Code Online (Sandbox Code Playgroud)