我刚买了一台新的Mac,安装了OS X Lion系统,我在终端上检查了默认安装的git版本。我知道答案了

git --version
> git version 1.7.5.4

我想把git升级到最新的1.7.8.3版本,所以我下载了dmg安装程序“git-1.7.8.3-intel-universal-snow-leopard”。dmg”,然后我启动了它。

安装完成后,终端仍然显示版本为1.7.5.4。我做错了什么?


当前回答

我不喜欢改变路径层次结构,而是专门处理git…知道我永远不会使用旧的git来做新的git现在将管理的事情。这是一个蛮力解决方案。

注意:我先在Yosemite(10.10.2)上干净地安装了XCode。

然后我从git-scm.com上可用的二进制文件进行安装。

$ which git
/usr/bin/git
$ cd /usr/bin
$ sudo ln -sf /usr/local/git/bin/git
$ sudo ln -sf /usr/local/git/bin/git-credential-osxkeychain
$ sudo ln -sf /usr/local/git/bin/git-cvsserver
$ sudo ln -sf /usr/local/git/bin/git-receive-pack
$ sudo ln -sf /usr/local/git/bin/git-shell
$ sudo ln -sf /usr/local/git/bin/git-upload-archive
$ sudo ln -sf /usr/local/git/bin/git-upload-pack
$ ls -la
(you should see your new symlinks)

其他回答

如果使用自制,您可以更新sim链接使用

brew link --overwrite git

@rafaecheve的回答在我这个Mac用户身上非常有效。我在我的机器上安装了几个版本的git,但是使用了包管理器,Homebrew和以下代码:

brew link --overwrite git

我收到这个确认

Linking /usr/local/Cellar/git/2.32.0... 212 symlinks created.

拖鞋!

在git-scm.com上没有最新版本的mac二进制文件,所以我从源代码安装。我缺少一个本地化所需的包,并添加了NO_GETTEXT=true来安装没有本地化。

git clone https://github.com/git/git.git
cd git
make NO_GETTEXT=true
make NO_GETTEXT=true install

这将git安装在~/bin下,然后我必须将其添加到PATH变量的开头。

我最近也把我的OS X机器上的Git升级到了最新版本。我没有使用您使用的.dmg,但当我安装它时,二进制文件被放置在/usr/local/bin中。现在,根据我的PATH的排列方式,目录/usr/bin出现在/usr/local/bin之前。所以我所做的是:

cd /usr/bin
mkdir git.ORIG
mv git* git.ORIG/

这将把几个名为git*的原始程序移动到一个新的子目录中,使它们不受影响。在此之后,哪个git显示找到了/usr/local/bin中的文件。

根据需要修改上面的过程,以适应您安装新二进制文件的地方。

您需要调整shell路径,路径将设置在您的主目录的.bashrc或.bash_profile中,更可能是.bash_profile。

所以添加到类似于下面的路径中,并保留路径中已经有的内容,每个段由冒号分隔:

export PATH="/usr/local/bin:/usr/bin/git:/usr/bin:/usr/local/sbin:$PATH"