Git 在 Mac OSX 10.11 El Capitan 下更新

今天看到了件好像算蠻大條的事情(轉自保哥的臉書):

這是個遍及全平台的漏洞,如果使用者不小心clone到加料的remote,或是也push了被加料過的repo到其他的remote,可以造成git去執行攻擊者的程式。

而且這個漏洞直到目前最新的2.7.4版本才被修復,因此勢必得更新了。

不過Mac OSX都是內建Git的,即使透過Homebrew(簡稱brew)安裝了最新版Git,在終端機使用"git --version"指令,依然還是會顯示內建的版本。
這是由於OSX的路徑優先權比較高,因此透過brew所安裝的的git,必須要把自己的路徑給加到系統的路徑清單裡,讓系統先找到我們自己安裝的版本,這樣就會讓系統指向brew安裝的2.7.4版本。
*其實透過"which git"指令,就會知道git的安裝路徑在哪裡。

那就開始吧!

首先可以先確認一下自己預設的路徑是哪些,使用"echo $PATH"指令,
我的會是出現這樣的回應:
「/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin」
以冒號為分隔,我的預設路徑是以下這幾個
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

而我去Homebrew的官方網站看到,透過brew的安裝的套件都會放在"/usr/local/Cellar"路徑底下,所以我找到了新版git的安裝路徑為"/usr/local/Cellar/git/"

那我們來增加一下brew安裝git的路徑吧。

首先開啟終端機,然後在家目錄底下,直接用 "vi .bash_profile" 指令,直接叫vi編輯器開一個名字叫做.bash_profile的檔案。
然後再貼上以下的文字

export PATH="/usr/local/Cellar/git/:$PATH"

做得事情很簡單,就只是在原有的預設路徑前面再增加了自行安裝的git的路徑,記得也要用冒號分隔。

增加完畢以後,把終端機關閉重啟,再使用"echo $PATH",前面應該就會出現剛剛加入的路徑,以我的狀況就是
/usr/local/Cellar/git/:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

然後再用 "git --version" 指令確認,就會變成"git version 2.7.4"了,更新完成