在 Mac 中安裝 Git 有很多種方法。
最簡單的方法應該就是直接安裝 Xcode 命令列開發者工具(Xcode Command Line Tools)。
在 Mavericks (10.9) 或更新版的系統中,你甚至可以直接在終端機中直接打入「git」指令。
如果系統發現你還沒安裝過,便會自動提示你進行安裝。
如果你希望安裝更新的版本,你也可以透過二進位安裝程式安裝。
在 Git 官方網站上有維護最新版的安裝程式可供下載,網址在
http://git-scm.com/download/mac
。
在 Windows 中安裝 Git 也有很多種方式。
最正式的安裝程式在 Git 官方網站可供下載。
你只需要連到
http://git-scm.com/download/win
然後下載就會自動開始。
請注意這是一個名為 Git for Windows 的專案,與 Git 本身是互相獨立的。如果你需要更多資料,請查閱
http://git-for-windows.github.io/
。
另一個安裝 Git 的簡單方法就是直接安裝 GitHub for Window。
這個安裝程式內已經預設提供 Git 的命令列版本和圖形化工具。
而且它也能夠完美搭配 Powershell,設定實體憑證快取和完整的 CRLF 設定。
我們將會在本書的其他章節學到這些事情,但我只想強調,這就是你需要的東西。
你可以直接從 GitHub for Windows 下載,網址在
http://windows.github.com
。
從原始碼安裝
某些人可能會發現從原始碼安裝 Git 反而比較好用,因為你可以拿到最新的 Git 版本。
通常二進位安裝程式都會落後於 Git 原始碼的版本,雖然 Git 近幾年已經逐漸成熟,兩者的版本差異可能不大。
如果你希望從原始碼安裝 Git,你需要擁有以下 Git 所需的函式庫:curl, zlib, openssl, expat 和 libiconv。
舉例來說,如果你的系統有 yum(例如 Fedora)或 apt-get(例如 Debian 系列的發行版),你可以使用其中一個指令來安裝這些最小相依關係(the minimal dependencies),這樣才有辦法安裝編譯並安裝 Git 可執行檔。
$ sudo yum install curl-devel expat-devel gettext-devel \
openssl-devel perl-devel zlib-devel
$ sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
libz-dev libssl-dev
為了能夠建立這些格式(doc、html、info)的文件,你還需要安裝這些額外的相依關係(注意:RHEL 系列(像是 CentOS、Scientific Linux)的使用者必需
啟用 EPEL 版本庫
,才能下載
docbook2X
套件):
$ sudo yum install asciidoc xmlto docbook2X
$ sudo apt-get install asciidoc xmlto docbook2x
另外,如果你使用 Fedora 或 RHEL 系列,你還需要做這個:
$ sudo ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
這是因為所使用的檔名不同。(譯注: 此行命令是對 docbook2x-texi 做一個捷徑,將其「連結」到實際上所使用的 db2x_docbook2texi。)
當你成功的安裝所有必備的相依關係,你就可以繼續下一步:從以下其中一個地方抓回最新的 Git 原始碼 tarball 壓縮檔。
你可以從 Kernel.org 網站取得,網址在
https://www.kernel.org/pub/software/scm/git
;或是在 GitHub 上面的鏡像,網址在
https://github.com/git/git/releases
。
通常在 GitHub 網站上你會比較容易知道哪個原始碼是最新的;但是在 kernel.org 網站上會同時提供該檔案的數位簽章,以便你下載後對檔案進行驗證。
再來,編譯並安裝 Git:
$ tar -zxf git-2.0.0.tar.gz
$ cd git-2.0.0
$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info
當你安裝完以後,你就可以透過 Git 來取得 Git 最新的原始碼如下:
$ git clone git://git.kernel.org/pub/scm/git/git.git