版本管理小談

   今天瞭解了一下版本管理,只是一點了解,所以寫一下總結以此來加深理解,對於這些知識還有待好好學習!

   通過版本控制工具,你可以保留同一文件中在不同時期的版本,這對圖表和二進制文件都適用,尤其適合文本類型文件。

   主流版本控制工具可以分爲兩種:集中式和分佈式。集中式版本控制工具需要一個服務器存儲倉庫,你可以在合適的時候把代碼提交到服務器上。而分佈式版 本控制工具(DVCS)則不需要中心服務器:每個倉庫的使用者都有自己的本地緩存,將更新從一個本地倉庫傳遞到另一個的過程非常簡單隻需要從源系統 push或者從目標系統pull即可。

   目前最流行的開源版本控制工具要數Subvision(SVN)、Git以及Mercurial(hg)了,其中SVN是集中式版本控制工具,Git和Mercurial則是分佈式的。

   值得注意的是,有很多知名網站提供倉庫託管服務,比如bitbucket.org、SourceForge、GoogleCode以及Github等等,這些網站都提供免費託管服務,但在具體服務支持與收費上各不相同。

   Git和 CVS、SVN不同,是一個分佈式的源代碼管理工具。Linux內核的代碼就是用Git管理的。它很強,也很快。它給我們帶來的直接好處有:

1. 傻瓜都會的初始化,git init, git commit -a, 就完了。對於隨便寫兩行代碼就要放到代碼管理工具裏的人來說,再合適不過。也可以拿git做備份系統,或者同步兩臺機器的文檔,都很方便。 
2. 絕大部分操作在本地完成,不用和集中的代碼管理服務器交互,終於可以隨時隨地大膽地check in代碼了。 只有最終完成的版本才需要向一箇中心的集中的代碼管理服務器提交。
3. 每次提交都會對所有代碼創建一個唯一的commit id。不像CVS那樣都是對單個文件分別進行版本的更改。所以你可以一次性將某次提交前的所有代碼check出來,而不用考慮到底提交過那些文件。(其實SVN也可以做到這點)
4. branch管理容易多了,無論是建立新的branch,還是在branch之間切換都一條命令完成,不需要建立多餘的目錄。 
5. branch之間merge時,不僅代碼會merge在一起,check in歷史也會保留,這點非常重要。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章