我刚买了一台新的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。我做错了什么?
我刚买了一台新的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。我做错了什么?
当前回答
@rafaecheve的回答在我这个Mac用户身上非常有效。我在我的机器上安装了几个版本的git,但是使用了包管理器,Homebrew和以下代码:
brew link --overwrite git
我收到这个确认
Linking /usr/local/Cellar/git/2.32.0... 212 symlinks created.
拖鞋!
其他回答
如果你能补充以下内容可能会更好:
export PATH=/usr/local/git/bin:/usr/local/sbin:$PATH
到主文件夹中名为.bashrc的文件。这样,您可能安装在/usr/local/git/bin中的任何其他软件也将首先被找到。
一个简单的方法就是输入:
echo "export PATH=/usr/local/git/bin:/usr/local/sbin:$PATH" >> ~/.bashrc
到终点站,它会为您办理的。
在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变量的开头。
我不喜欢改变路径层次结构,而是专门处理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)
对我来说,在Homebrew 1.6.7中,以下操作是有效的:
brew upgrade git
我最近也把我的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中的文件。
根据需要修改上面的过程,以适应您安装新二进制文件的地方。