最近談到版本控制,所有人都在談Git。當然随意的談論并不能讓你下定決心遷移到Git。這裡列出了八條有分量的理由,讓你加入Git陣營。
1. 快速
如果你每移動一下滑鼠都要等待五秒,是不是很受不了?版本控制也是一樣的,每一個指令多那麼幾秒鐘,一天下來也會浪費你不少時間。Git的操作非常快速,你可以把時間用在别的更有意義的地方。

更多統計資料,請看 www.whygitisbetterthanx.com。
2. 離線工作
在沒有網絡的情況下如何工作?如果你用SVN或者CVS的話就很麻煩。而Git可以讓你在本地做所有操作,送出代碼,檢視曆史,合并,建立分支等等。
3. 回退
人難免犯錯。我很喜歡Git的一點就是你可以“undo”幾乎所有的指令。你可以用這個功能來修正你剛剛送出的代碼中的一個問題或者復原整個代碼送出操作。你甚至可以恢複一個被删除的送出,因為在後端,Git幾乎不做任何删除操作。
4. 省心
你有沒有丢失過版本庫?我有,而那種頭疼的感覺現在還記憶猶新。而用Git的話,我就不必擔心這個問題,因為任何一個人機器上的版本都是一個完整的備份。
5. 選擇有用的代碼送出
當你把紐帶,冰塊還有蕃茄一起扔進攪拌機的時候至少有兩個問題。第一,攪拌過後,沒有人知道之前扔進去了些什麼東西。第二,你不能回退,重新把蕃茄拿出來。同樣的,當你送出了一堆無關的更改,例如功能A加強,新增功能B,功能C修複,想要理清這一堆代碼到底幹了什麼是很困難的。當然,當發現功能A出問題的時候,你無法單獨復原功能A。Git可以通過建立“顆粒送出”,幫你解決這個問題。“staging area”的概念可以讓你決定到底那些東西需要送出,或者更新,精确到行。
6. 自由選擇工作方式
使用Git,你可以同時和多個遠端代碼庫連接配接,“rebase”而不是"merge"甚至隻連接配接某個子產品。但是你也可以選擇一個中央版本庫,就像SVN那樣。你依然可以利用Git的其他優點。
7. 保持工作獨立
把不同的問題分開處理将有助于跟蹤問題的進度。當你在為功能A工作的時候,其他人不應該被你還沒有完成的代碼所影響。分支是解決這個問題的辦法。雖然其他的版本控制軟體業有分支系統,但是Git是第一個把這個系統變得簡單而快速的系統。
8. 随大流
雖然隻有死于才随着波浪前進,但是很多時候聰明的程式員也是随大流的。越來越多的公司,開源項目使用Git,包括Ruby On Rails,jQuery,Perl,Debian,Linux Kernel等等。擁有一個強大的社群是很大的優勢,有很多教程、工具。