我刚买了一台新的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。我做错了什么?
当前回答
在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变量的开头。
其他回答
如果使用自制,您可以更新sim链接使用
brew link --overwrite git
我不喜欢改变路径层次结构,而是专门处理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,这很简单: 假设你已经安装了自制程序,输入以下内容:
brew install git
这将自动安装git,并将其设置在您的路径中,取代Apple的路径。
现在退出并重新启动您的终端。
然后查看git版本确认。
git --version
如果上面命令的输出显示了最新的版本,并且没有提到Apple的版本细节,那么您就已经设置好了。
如果你仍然看到苹果版本,那么输入下面两行,这将手动将我们的路径设置为本地git发行版而不是苹果发行版。
export PATH=/usr/local/bin:$PATH
git --version
如果你没有自制的,按照下面的步骤来做
检查版本
巨债
备份(或删除)Apple git(可选)
$ sudo mv /usr/bin/git /usr/bin/git-apple
如果你没有Homebrew,请安装
ruby美元/ usr / bin / e,“美元(卷毛-fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
如果已经更新了,也可以更新
$ brew update && brew升级
用Homebrew安装Git
安装git
符号链接
$ brew链接—强制git
退出终端,打开新终端,检查版本。
巨债
你应该看到……
Git版本<最新版本>
好了!我们现在安全了!下次你可以…
$ brew update && brew升级
我最近也把我的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中的文件。
根据需要修改上面的过程,以适应您安装新二进制文件的地方。
@rafaecheve的回答在我这个Mac用户身上非常有效。我在我的机器上安装了几个版本的git,但是使用了包管理器,Homebrew和以下代码:
brew link --overwrite git
我收到这个确认
Linking /usr/local/Cellar/git/2.32.0... 212 symlinks created.
拖鞋!