单独安装git for mac v2.10.1时本人也遇到了这个问题,上述回答无法解决,说到底,还是个环境变量path的配置优先问题。
先来看安装包中的说明文档,其实已经可以发现问题了:
Step 1 - Install Package
------------------------
Double-click the package in this disk image to install. This installs
git to /usr/local/git, and places symlinks into /usr/local/bin and
/usr/share/man/.
Step 2 - Remove stubs (Yosemite and earlier)
--------------------------------------------
When you run `git`, you might see this message:
'The "git" command requires the command line developer
tools. Would you like to install the tools now?"
This is because OS X ships with stubs, and these stubs are taking
precedence over /usr/local/bin.
To resolve, run the following:
sudo mv /usr/bin/git /usr/bin/git-system
This should not be a problem in OS X 10.11 (El Capitan), as
/usr/local/bin takes precedence over /usr/bin
mac中自带的命令行工具配置目录是/usr/bin,而我们新版的是/usr/local/bin。并且,它将/usr/local/bin 和/usr/share/man/ 中的git链接也替换成了新版,OSX10.11也默认/usr/local/bin的优先级大于/usr/bin了,那我们的OSX10.11以上版本怎么还会有错呢?
个人推测是由于我们是从旧版本系统一路升级而来,保留了原先的环境变量即path中的值。解决方法可按照上面 英文官方文档中的来(未经测试),也可以参考下面这篇文章,下面是由于git版本老旧按照新版的问题,其实和我们的问题本质上一样,我使用了第一种方法,简单明了,完美解决。
————————————————————————————————————————————————————————————————————
文章来源:https://segmentfault.com/a/1190000000614962
mac中的git默认是随着xcode一起安装的,所以一般不必手动安装。但是随着时间的推移,git版本不断升级,自带的git就显得有点老旧了,因此我们需要自己来安装最新的版本。
有两种方式可以安装git
- 到http://git-scm.com/下载最新的os x安装包,一路next即可
- 使用Homebrew
安装完之后,执行git --version
,如果你发现依旧是老版本,可以使用下面的方式解决。
以上两种方式,最终都会把执行路径放到/usr/local/bin
下面,xcode安装的git会放在/usr/bin
下面,而且如果你查看一下PATH
echo $PATH
会发现,/usr/bin
是处在/usr/local/bin
前面的,所以就导致了旧版本依旧覆盖了新版本。知道了原因之后,解决方式就很简单了,我们只需要把/usr/local/bin
放到前面即可。有两种方式
第一种:
编辑/etc/paths
(需要管理员权限),调整/usr/local/bin
在最前面
第二种:
编辑~/.bashrc
或者~/.bash_profile
PATH=/usr/local/bin:$PATH
export PATH
然后执行source ~/.bashrc
或者source ~/.bash_profile
使改变生效。
此时再次执行git --version
应该就会看到新版本了。