我刚买了一台新的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上升级git。

hansi$ brew install git 

hansi$ git --version 
git version 2.19.0


hansi$ brew install git
Warning: git 2.25.1 is already installed, it's just not linked
You can use `brew link git` to link this version.

hansi$ brew link git 
Linking /usr/local/Cellar/git/2.25.1... 
Error: Could not symlink bin/git
Target /usr/local/bin/git
already exists. You may want to remove it:
  rm '/usr/local/bin/git'

To force the link and overwrite all conflicting files:
  brew link --overwrite git

To list all files that would be deleted:
  brew link --overwrite --dry-run git

hansi$ brew link --overwrite git 
Linking /usr/local/Cellar/git/2.25.1... 205 symlinks created


hansi$ git --version
git version 2.25.1

其他回答

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

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

export PATH="/usr/local/bin:/usr/bin/git:/usr/bin:/usr/local/sbin:$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中的文件。

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

如果你能补充以下内容可能会更好:

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

到终点站,它会为您办理的。

对我来说,在Homebrew 1.6.7中,以下操作是有效的:

brew upgrade git

我使用以下方法在mac上升级git。

hansi$ brew install git 

hansi$ git --version 
git version 2.19.0


hansi$ brew install git
Warning: git 2.25.1 is already installed, it's just not linked
You can use `brew link git` to link this version.

hansi$ brew link git 
Linking /usr/local/Cellar/git/2.25.1... 
Error: Could not symlink bin/git
Target /usr/local/bin/git
already exists. You may want to remove it:
  rm '/usr/local/bin/git'

To force the link and overwrite all conflicting files:
  brew link --overwrite git

To list all files that would be deleted:
  brew link --overwrite --dry-run git

hansi$ brew link --overwrite git 
Linking /usr/local/Cellar/git/2.25.1... 205 symlinks created


hansi$ git --version
git version 2.25.1