GIT 的先前版本是 1.7.5.4。我决定更新到较新的版本 1.7.9.4
安装程序显示已安装,但在终端中检查版本号时显示仍为 1.7.5.4 版本
目前我不是唯一一个遇到这个问题的人。
我已经检查过.bash_profile 中的路径是否正常。
答案1
检查您想要的 git 版本在哪个目录中...我的在 usr/local/git/bin
为了将其相应地添加到 PATH(即使理论上它已经在 PATH 中,但我必须将其添加到开头以优先于其他文件夹中的 git 1.7.5.4)我在 .bash_profile 中添加了以下几行:
PATH = "/usr/local/git/bin:${PATH}"
export PATH
然后我退出终端并重新启动它,让它有机会拼凑新的 PATH,它对我来说是有效的。
对于像我一样完全是菜鸟并且不知道如何访问 .bash_profile 的人来说,这是我的方法(使用 vim 文本编辑器):
vi ~/.bash_profile
答案2
1.7.9.4 是否安装在路径中比包含 1.7.5.4 的目录更靠后的目录中?我假设(也许是错误的)您将两个版本安装在不同的目录中。
答案3
我的 $PATH 看起来像:
/usr/local/git/bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/opt/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/mysql/bin:/Users/robert/.rvm/bin:/usr/local/git/bin/:/usr/local/git/bin/
我检查了一些文件,如://.bash_profile
有一些导出 $PATH 声明。.profile
.bashrc
/usr/bin/git --version
=> git version 1.7.5.4
/usr/local/git/bin/git --version
=> git version 1.7.10.1
首先,我删除了导出路径声明。它们把事情搞乱了。
有点奇怪的是,v1.7.5.4 的卸载程序将 git 定位在 ,/usr/local/git
并安装在此处/usr/bin/git
。我一直使用官方安装程序。
然后我在其他地方看到 Xcode 也安装了 git (我想应该是这个/usr/bin/git
)。所以我不打算删除这个。
.bash_profile
因此,我首先从//.profile
中删除了所有导出 PATH 声明.bashrc
。这使我的 PATH 看起来像:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/opt/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/mysql/bin:/Users/robert/.rvm/bin
稍微短一点。当我执行which git
' 时,它给了我/usr/bin/git
。这不是我想要的版本。所以我回去把 PATH 改为
/usr/local/git/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/opt/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/mysql/bin:/Users/robert/.rvm/bin
添加以下行:
export PATH=/usr/local/git/bin:$PATH
到.bash_profile
首先打开一个新的终端窗口进行测试git --version
,或者which git
如果您想在同一个终端中测试这些命令,请先输入以启用文件source .bash_profile
中的更改.bash_profile
/usr/local/git/bin
(1.7.10.1 版本)将首先被找到('which git' 导致/usr/local/git/bin/git
)
答案4
所以,这有点老了,但我对你最初的问题有答案。答案如下:http://code.google.com/p/git-osx-installer/issues/detail?id=67
问题不在于.bashrc
或.bash_profile
。问题在于/etc/paths
和/etc/paths.d
。OS X 安装程序将 git 添加到/usr/local/git/bin
。它还将 添加/usr/local/git/bin
到/etc/paths.d
。
如果我理解正确的话,/usr/bin
位于 之前/usr/local
,/etc/paths
因此使用的是 中的 git 版本/usr/bin/git
(Xcode 版本)。但是,由于某种原因,在 中的条目后面添加一个斜杠/etc/paths.d
将强制系统改用/usr/local/git/bin
版本。