1. 快速
若是你每移動一下鼠標都要等待五秒,是否是很受不了?版本控制也是同樣的,每個命令多那麼幾秒鐘,一天下來也會浪費你很多時間。Git的操做很是快速,你能夠把時間用在別的更有意義的地方。
更多統計數據,請看 www.whygitisbetterthanx.com。
2. 離線工做
在沒有網絡的狀況下如何工做?若是你用SVN或者CVS的話就很麻煩。而Git可讓你在本地作全部操做,提交代碼,查看歷史,合併,建立分支等等。
3. 回退
git
人不免犯錯。我很喜歡Git的一點就是你能夠「undo」幾乎全部的命令。你能夠用這個功能來修正你剛剛提交的代碼中的一個問題或者回滾整個代碼提交操做。你甚至能夠恢復一個被刪除的提交,由於在後端,Git幾乎不作任何刪除操做。程序員
4. 省心
你有沒有丟失過版本庫?我有,而那種頭疼的感受如今還記憶猶新。而用Git的話,我就沒必要擔憂這個問題,由於任何一我的機器上的版本都是一個完整的備份。
5. 選擇有用的代碼提交
後端
當你把紐帶,冰塊還有西紅柿一塊兒扔進攪拌機的時候至少有兩個問題。第一,攪拌事後,沒有人知道以前扔進去了些什麼東西。第二,你不能回退,從新把西紅柿拿出來。一樣的,當你提交了一堆無關的更改,例如功能A增強,新增功能B,功能C修復,想要理清這一堆代碼到底幹了什麼是很困難的。固然,當發現功能A出問題的時候,你沒法單獨回滾功能A。Git能夠經過建立「顆粒提交」,幫你解決這個問題。「staging area」的概念可讓你決定到底那些東西須要提交,或者更新,精確到行。網絡
6. 自由選擇工做方式
使用Git,你能夠同時和多個遠程代碼庫鏈接,「rebase」而不是"merge"甚至只鏈接某個模塊。可是你也能夠選擇一箇中央版本庫,就像SVN那樣。你依然能夠利用Git的其餘優勢。
7. 保持工做獨立
工具
把不一樣的問題分開處理將有助於跟蹤問題的進度。當你在爲功能A工做的時候,其餘人不該該被你尚未完成的代碼所影響。分支是解決這個問題的辦法。雖然其餘的版本控制軟件業有分支系統,可是Git是第一個把這個系統變得簡單而快速的系統。spa
8. 隨大流
.net
雖然只有死於才隨着波浪前進,可是不少時候聰明的程序員也是隨大流的。愈來愈多的公司,開源項目使用Git,包括Ruby On Rails,jQuery,Perl,Debian,Linux Kernel等等。擁有一個強大的社區是很大的優點,有不少教程、工具。版本控制