如何在OSX 10.8上更新我的git版本

时间:2013-02-24 22:28:16

标签: macos git osx-lion osx-mountain-lion

我在OSX 10.8.2上运行git git v1.7.4.4

我刚刚在远程服务器上安装了git,它的版本是1.11.x.我想运行相同版本的软件,但我无法弄清楚如何在我的笔记本电脑上更新git。

我尝试按照列出here列出的步骤,指示下载git-OSX-installer,运行安装(运行顺利),然后执行:

$ sudo mkdir -p /usr/local/bin
$ sudo ln -s /usr/local/git/bin/git /usr/local/bin/git

但在此之后我做git --version并且它仍然是1.7.4.4。我刚刚重新安装了相同的版本吗?或者我是否在其他地方安装了新版本?

我一直在阅读类似的问题,我认为问题是OSX附带了一个旧版本的git安装在不同的位置,然后git-osx-installer或mac端口将放置它。但我不确定如何纠正这个问题。提前感谢您的建议。

更新

which git返回: 的/ usr /斌/ GIT中

echo $PATH返回: /opt/local/bin:/opt/local/sbin:/usr/local/rvm/gems/ruby-1.9.3-p194/bin:/usr/local/rvm/gems/ruby-1.9.3-p194@全球/斌:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin:在/ usr /本地/ RVM /斌:在/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录:/ USR / local / bin中:在/ usr /本地/ GIT中/ bin中:/选择/ SM /仓中:/ opt / SM /包装/活跃/ bin中:/选择/ SM / PKG /活性/ sbin目录

UPDATE2:

ESL ~/Downloads$ export PATH=/usr/local/bin:$PATH
ESL ~/Downloads$ which git
/usr/local/bin/git
ESL ~/Downloads$ 
ESL ~/Downloads$ git --version
git version 1.8.1.3

看来我在本地安装了较新的git版本。那么我应该将export PATH=/usr/local/bin:$PATH添加到我的.bash_profile中吗?是否安装了两个版本的git?

我将export PATH=/usr/local/bin:$PATH添加到〜/ .bash_profile的底部,现在新版本的git运行了。

3 个答案:

答案 0 :(得分:17)

在Mac OSX计算机上更新任何二进制文件的最佳方法是使用专门为Mac开发的软件包(.dmg或.pkg下载)。

对于git,它位于:http://git-scm.com/download/mac (点击此链接应自动开始下载最新版本的git for Mac)。

然而,在这种情况下(至少对于我的10.8.3 MacBook而言)这并非完整的故事:软件包在/usr/local/git中安装git,然后在$PATH的末尾添加该路径 - 这违背了IMO的全部目的。

我手动修改了我的.bashrc,以便有类似于上面提到的内容:

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

一旦你这样做,你应该看到正在挑选的正确版本的git:

$ git --version
git version 1.8.2.2 

请注意,这对于以交互方式启动的任何应用程序(例如,通过停靠栏)都不起作用 - 您必须运行下载的程序包中提供的其他脚本;有关说明,请参阅README

答案 1 :(得分:16)

由于/ usr / bin在路径中的/ usr / local / bin之前显示,因此/ usr / bin中的git可执行文件将优先。 在你的shell中试试这个:

export PATH=/usr/local/bin:$PATH
which git 

另外,我强烈建议您使用homebrew来管理macos上的安装

答案 2 :(得分:3)

我在Cygwin中遇到过类似的问题(为windows编译的linux环境)。我会做的

which git

它会响应从源代码编译的更新git的正确位置,但在我做之前不会实际使用它

hash -r git

我没有声称理解这是做什么或为什么必须这样做,但在那之后git --version回复了'1.8.2.rc0.22.gb3600c3',这显然不再是旧的git与Cygwin一起发货。这可能不适用于OSX,但如果which git正在查找更新的二进制文件,请试一试。