【问题标题】:override git from Xcode with homebrew version用自制版本覆盖 Xcode 中的 git
【发布时间】:2012-05-14 00:43:35
【问题描述】:

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

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

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

这意味着/usr/bin/git 总是在/usr/local/bin/git 之前调用。

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

【问题讨论】:

  • 我创建了这个脚本让 Xcode 使用你在 /usr/local/bin 中的本地安装的 Git。看看这个。 gist.github.com/4659915

标签: xcode macos git path homebrew


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回答。毕竟我在/etc/paths中更改了PATH
  • 在 OS X Mountain Lion 上,我使用“.bash_profile”而不是“.bashrc” - 我已经这样做了很多年了,虽然我不知道我是从哪里学到的,或者为什么会这样有效(而 .bashrc 无效。)
  • 别名的名字仍然可以只是git,对我没有任何问题,你可以保留原来的名字。
【解决方案2】:

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

function git
  /usr/local/bin/git $argv; 
end

【讨论】:

  • 工作就像一个魅力!感谢您的提示。我不知道你可以在鱼壳中做到这一点。这非常有用。
【解决方案3】:

由于 Xcode 硬编码了它自己的安装在 /Applications/Xcode.app/Contents/Developer/usr/bin/git 上的 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

我对@9​​87654326@做了同样的事情

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

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

我这样做是因为我想在这里解决我自己的问题13177203。而且在StackOverFlow上搜索了半天,终于得到了这个解决方案。

【讨论】:

  • 虽然我通常避免弄乱这样的包,但我确实使用了这个答案。由于 git 1.8 中 push.default 选项的更改,Xcode 给了我以下错误,并且不允许我将资产添加到我的项目中:error: Malformed value for push.default: simple. error: Must be one of nothing, matching, tracking or current. fatal: bad config file line 7 of .gitconfig。另一种选择是将我的 gitconfig 改回 1.7 设置。
猜你喜欢
  • 1970-01-01
  • 2011-08-10
  • 2016-07-14
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多