我正在尝试将我的 git 安装更新到最新版本。我无法删除旧版本,因为命令git
仍然引用旧版本:
$ git --version
git version 1.6.3.2
这很奇怪,因为:
$ which git
/usr/local/bin/git
和:
$ /usr/local/bin/git --version
git version 1.8.4
我没有使用 MacPorts 安装旧版本。有什么想法吗?
答案1
别名将首先解析,因此如果您将“git”别名到某个地方,那么 BASH 将转到别名位置,该位置可能与 git 在 PATH 上出现的第一个位置不同,这就是向 which git
您显示的位置。
答案2
输入以下内容:
hash -r
或者,关闭终端会话(完全关闭,使用⌘Q),然后重新打开它。我怀疑您已经使用同一个会话很长时间了,并且 shellgit
在其路径哈希中仍然保留了二进制文件的旧位置(因此命令的名称)。重新哈希(选项-r
)或重新启动 shell 将清除所有内容并重新加载它。
答案3
我刚刚进入了 PATH 中的每个目录并查找了 git 的旧版本。我在 ~/bin 中找到了它。删除它,现在我就可以开始了。我仍然不明白为什么which
要找到新的,但git
命令是找到旧的。