我已經安裝了XCode,因此git也在那裏。因爲我想要使用自制軟件安裝的更新版本的git。用Xcode替代git與自制軟件版本
但混帳的自制版本不會被調用,因爲我的道路看起來像這樣
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
這意味着/usr/bin/git
/usr/local/bin/git
之前,百達調用。
有沒有辦法改變這種情況,而不改變PATH?
我已經安裝了XCode,因此git也在那裏。因爲我想要使用自制軟件安裝的更新版本的git。用Xcode替代git與自制軟件版本
但混帳的自制版本不會被調用,因爲我的道路看起來像這樣
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
這意味着/usr/bin/git
/usr/local/bin/git
之前,百達調用。
有沒有辦法改變這種情況,而不改變PATH?
Xcode實際上是使用存儲在/Applications/Xcode.app/Contents/Developer/usr/bin
中的GIT。當您將命令行工具安裝爲Xcode安裝的一部分時,將在/usr/bin
中安裝相同版本的GIT。所以,你將無法改變Xcode正在使用的內容(除非你願意使用Xcode包的內容)。如果從終端應用,您要使用自制軟件安裝GIT則有兩種選擇:
/usr/local/bin/git ...
的完整路徑,這種情況下,你可以像alias mgit=/usr/local/bin/git
創建別名,然後使用mgit ...
從終端PATH=/usr/local/bin:$PATH
,即.bashrc
或.zshrc
。感謝您的答案。畢竟我改變了'/ etc/paths'中的'PATH'。 – BetaRide
相關:http://stackoverflow.com/questions/5364614/is-there-a-problem-with-having-usr-local-bin-before-usr-bin-on-the-path-in-os –
開啓OS X Mountain Lion,我使用「.bash_profile」而不是「.bashrc」 - 我已經這麼做了很多年,雖然我不知道我在哪裏學到了它,或者它爲什麼可以工作(而.bashrc沒有。 ) –
由於Xcode中硬編碼了自己是安裝在/Applications/Xcode.app/Contents/Developer/usr/bin/git
的Git版本,我設法利用此解決招:
變化到Xcode的目錄:
cd /Applications/Xcode.app/Contents/Developer/usr/bin
像這樣重命名Xcode的git:
sudo mv ./git ./git-xcode-usr-bin
鏈接到我自己的git它是通過自制安裝:
sudo ln -s /usr/local/bin/git ./git
而且我做了/usr/bin/git
這將acctually鏈接/usr/local/Cellar/git/1.8.0/bin/git
同樣的事情(因爲我m目前使用git 1.8.0)
Cert只是這可能會導致一些其他問題,比如當我在將來升級自制軟件git時,它不適用於我:(我必須創建一個新的鏈接。
我這樣做是因爲我想在這裏解決我自己的問題13177203。並且在長時間搜索StackOverFlow後,我終於得到了這個解決方案。
雖然一般情況下我避免這樣的軟件包搞亂,但我確實使用了這個答案。由於git 1.8中'push.default'選項的改變,Xcode給了我下面的錯誤,並且不允許我將資源添加到我的項目中:'error:push.default的格式錯誤:簡單。錯誤:必須是無,匹配,跟蹤或當前之一。致命的:壞配置文件第7行.gitconfig'。另一種選擇是將我的gitconfig改回1.7設置。 – towynlin
如果您使用的是fish shell而不是bash,則可以通過將以下內容添加到~/.config/fish/config.fish
來指向您的首選git二進制文件。
function git
/usr/local/bin/git $argv;
end
工作就像一個魅力!感謝您的提示。我不知道你可以在魚殼裏做到這一點。這非常有用。 – Leif
我創建了這個腳本讓Xcode在/ usr/local/bin中使用Git的本地安裝。一探究竟。 https://gist.github.com/4659915 – Baub