我在運行Linux發行版的共享主機方案上使用git。由於它是共享的,我無權訪問sudo
。該機器已安裝/usr/bin/
安裝git版本1.7.1
,但此版本在這一點上是史前。我已經使用make install
獲得當前版本2.14.1
,這是~/git-2.14.1/
。正如this answer詳細,我可以在命令行訪問的git的正確版本,像這樣:使用git快捷鍵換一個新版本,覆蓋舊的
$ git --version
git version 2.14.1
這是一個簡單的改變到$PATH
變量,在~/.bash_profile
,這樣我就可以使用git就好了。
我在~/.gitconfig
文件的快捷方式,使git的更快,我使用的列表:
[alias]
co = checkout
st = status
ci = commit
... etc etc etc
當我調用這些(如git st
),我得到了錯誤版本的git的結果。它可以追溯到1.7.1
。如果我輸入完整的命令(例如git status
),它將使用正確版本的git。
我也有我的~./bashrc
這些命令:
git() {
case "$*" in
st*) shift 1; command ~/git-2.14.1/git status "[email protected]" ;;
*) shift 1; command ~/git-2.14.1/git "[email protected]" ;;
esac
}
我把這種寫作source
-ed。
我也曾嘗試:
alias git="~/git-2.14.1/git"
無濟於事。
有沒有可以讓我用我的首選版本的git使用這些快捷方式的解決方法?我想通過將指針重定向到不同的位置來隱藏配置文件的方法,但我不知道任何這樣的指針的存在。
或者,有沒有辦法可以完全禁用以前版本的git而無需root
訪問?
很好找'GIT_EXEC_PAT'(我在https://stackoverflow.com/a/43432410/6309中描述)。 +1 – VonC