提到版本控制,最近大家都在談git。當然,四處議論紛紛還不足以證明切換到git上有多麼正確。這裡有一些能證明git非常出色的有力事實。
1. 節省時間
想象一下,每次動滑鼠前你都要等待5分鐘。這非常討厭是不是?有了版本控制也是一樣——我們每個命令消耗幾秒,但是工作一天也累積起來了。但是git快如閃電。把你的時間用在其他更重要的事情上,而不是等待版本控制工具的響應。
2. 離線工作
你出差的時候要工作怎麼辦?用諸如subversion或者cvs的集中式版本控制系統,如果你不能連上**版本庫你就不能工作。有了git,在你的本地機器上幾乎能做任何事:提交、檢視專案完整歷史記錄、合併(merge)或者新建分支……git讓你來決定何時何地開始工作。
3. 回退錯誤
4. 睡得香
你曾經粉碎過subversion的版本庫嗎?我就做過(我說這個的時候記憶的傷痛猶在)。有了git,我可以信心十足,因為團隊裡每個人在自己電腦上的轉殖就是乙份可用的備份。另外git裡的幾乎每個操作都是增加資料(很少有刪除的)。想搞砸都很難。這種感覺很好。
5. 產生有用的提交
把牛奶、冰淇淋和番茄投到攪拌機裡會有(至少)兩個問題。首先,啟動攪拌機後,看著這一團東西,沒人能說出你實際上放入的是什麼。另外,你沒辦法把番茄再「回滾」。你做的一批不相關的提交(一點點a特性,再帶一點b特性,還有乙個小小的補丁……)也是一樣的。對你的隊友來說,很難理解發生了什麼。當出現問題時,他們也不能簡單地回滾特性a。git能幫你避免這種混亂和建立粒狀提交。其獨一無二的「快取區」概念能讓你決定在下乙個提交裡到底包含哪些改動,甚至小到哪些行。這是版本控制的用處所在。
6. 按自己的方式工作
當用git工作時,你可以有你自己的工作流程。那個你覺得好的流程。使用git你不需要成為程式設計高手。當然你可以連線多個遠端的版本庫,用變基(rebase)代替合併,需要時工作在子模組上。但是你也可以只是簡單地工作在乙個**遠端版本庫上,如同在用subversion一樣。不管你的工作流程怎樣,所有其他的優點都還在。
7. 不會把東西搞混了
分開關注是追蹤事情的最高原則。當你工作在特性a上時,任何事(人)都不會被你未完成的**所影響。如果這個特性不再需要了呢?或者如果在10個提交之後,你發現你做的完全不對呢?分支是這些問題的答案。其他的版本控制系統也有分支,但是git是第乙個讓它做好它該做的:快速簡單。
8. 潮流
只有死魚才隨波逐流。有時候聰明的開發者也這樣。git被越來越多的知名公司和開源專案所使用:ruby on rails,jquery,perl,debian,linux核心,還有很多。大型的社群通常自身就是乙個優點,因為乙個生態圈會圍繞著該系統演進。大量的學習指南,工具,還有服務,會讓git變得更加吸引人。
切換到 Git 的 8 個理由
提到版本控制,最近大家都在談git。當然,四處議論紛紛還不足以證明切換到git上有多麼正確。這裡有一些能證明git非常出色的有力事實。1.節省時間 想象一下,每次動滑鼠前你都要等待5分鐘。這非常討厭是不是?有了版本控制也是一樣 我們每個命令消耗幾秒,但是工作一天也累積起來了。但是git快如閃電。把你...
git 切換到分支
使用如下git命令檢視所有遠端分支 git branch r 檢視遠端和本地所有分支 git branch a 檢視本地分支 git branch 在輸出結果中,前面帶 的是當前分支。方法一使用如下命令 git checkout b 本地分支名x origin 遠端分支名x 使用該方式會在本地新建分...
git切換到遠端分支
遠端倉庫 git clone 下來,當你執行 git branch,你只會看到 master 並不會看到其他分支,即便遠端倉庫上有其他分支,使用 git branch va 可以檢視本地 遠端分支列表 master 0840594 merge master and 1.0.0 remotes ori...