43

我已经安装了 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 的情况下改变它?

4

3 回答 3

57

Xcode 实际上使用的是存储在/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 文件(或每次在命令行启动终端时)。
于 2012-05-04T20:25:01.433 回答
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 时,它对我不起作用:( 然后我必须创建一个新链接。

我这样做是因为我想在这里解决我自己的问题

8

如果您使用的是fish shell而不是 bash,则可以通过将以下内容添加到~/.config/fish/config.fish.

function git
  /usr/local/bin/git $argv; 
end
于 2013-06-17T16:02:38.487 回答