一直以來我都比較在意源碼的管理,怎么說也是自己辛苦寫的東西,改得又很頻繁,沒有個好方法好工具管理起來還真是不放心。
最近幾年主要是用分布式版本控制工具Mercurial(HG),個人覺得還是挺好用的。今天看到 有人發(fā)了一張漫畫 ,轉帖如下:
所附的文字說明是:
作為一名項目主管,你知道為什么要盡快的拋棄SVN而轉向Git(或HG、Bzr等),答案就在這幅漫畫里:
當時我就看著面熟,令狐指出這幅畫其實是修改版,原版是說程序在編譯中。不過這不重要,重點在于漫畫表現(xiàn)的是事實:集中化的源碼存儲管理存在的風險比分布式版本控制要大。
巧的是剛好在幾個月前,我們也曾經就源碼管理究竟應該是分布式還是集中式有過一次討論,這里就把那次討論的大致內容總結一下吧。
就我個人來說,最近幾年用HG下來,已經早就完全不想再回去用CVS/SVN之類的東西了。而令狐也很痛苦他們公司所用的源碼管理工具是那個最渣(沒有之一)的VSS。
但是當我強烈認為分布式版本控制未來將取代集中式版本控制時,令狐卻對此表示反對。
他認為關鍵在于分布式版本控制更適合于開源軟件開發(fā):開發(fā)人員在地理上分布得較為分散,所有人擁有全部源代碼,各自相對獨立開發(fā)。所以分布式版本控制工具通常都使用WEB或SSH等適合遠程連接的方式進行代碼獲取和提交,有強大的分支管理功能。
但是集中式版本管理更適合于企業(yè)軟件的團隊開發(fā):開發(fā)人員本身就集中在同一工作場所,有較多的團隊合作需要,開發(fā)人員通常不能得到全部代碼,需要較為嚴格的權限管理等。所以還是集中式的源碼管理工具更適合。
這的確有道理。
至于像漫畫中所說的server down這樣的事故根本就不應該在軟件公司里發(fā)生。對于源碼服務器這么重要的設施居然沒有具備足夠的可靠性和快速的災難恢復措施,只能說是公司在管理上存在問題需要糾正,而不是集中式源碼管理不對。
當然,我還是認為分布式管理工具對于開發(fā)人員來說簡直就是大殺器,值得強烈推薦。即使你的公司里用的是集中式版本控制,你也可以同時自己使用分布式版本控制工具來作本地的版本管理。二者是可以并存的——我自己就一度HG和SVN并用了一段時間。
不過歸根到底還是集中式版本控制工具需要加強一些在分支管理和本地版本管理方面的功能。
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
