源碼管理工具是什么? 這個問題對研發(fā)中的兄弟姐妹而語,是天天使用,用來吃飯的東西嘛:
故,源碼管理工具有很多產品(svn, cvs, hg, git 等),其功能類似,各有特色。 結合個人所使用過的SCM,我簡單小結一下:
下面就我個人使用的源碼管理工具列舉一下,有些流水賬,各位請繼續(xù)忍忍:
我最早使用的一個源碼管理工具,VSS全程是Visual SourceSafe,其屬于微軟的一款產品。但是剛從一名工人自學編程,進入研發(fā)團隊,還覺得挺難的:團隊協(xié)作、checkIn、CheckOut等概念,那個時候,還不太理解做這些事情到底是為什么。
團隊發(fā)展到一個新的階段,人多了起來,需要提 bug,需要提 需求, 需要分配任務,這個時候為了復用已有的VS技能,故升級到了VS完美結合的TFS(Team Foundation Server,這個也是微軟出品的)。其功能強大:完整的軟件生命周期工具、支持敏捷開發(fā)、可配置自定義查詢、可定制Daily Builder等功能。 截圖如下,我現在還記得TFS有一個很重要的特性是有l(wèi)ock功能,只能獨占編輯。當時公司的SCM在內網搭建,外網無法訪問,我們出差去保定,只能手工選擇文件為可編輯,修改完畢后,等回公司后,再花1天時間合并、提交代碼。
SVN(Subversion) ,是一個開源軟件,崛起的速度很快,好像是 CVS(Concurrent Version System)的替代和升級版本。SVN起來的一個很重要原因是自由軟件開發(fā)的協(xié)作網如SourceForge.net提供了SVN的訪問方式。很大程度上,我對SVN熟悉是從一個烏龜的logo開始的:
SVN截圖如下,完美的和Windows文件系統(tǒng)集成,SVN會非常方便進行源碼管理:更新、提交很方便;其處理代碼沖突也非常方便編輯。
自打離開研發(fā)隊伍后,業(yè)余玩點代碼,沒有源碼托管的可真難受啊。 又懶得自己搭建源碼服務器,開始嘗試了微軟的TFS Online,但是,網速那個慢,無法忍受。當看到國內Git免費托管盛行,就學習了Git方式(我用的是非命令行的,還是烏龜的tortoisegit)。所幸,Git到處有,國外著名的是Github(任意多個public的代碼庫,private收費)和bitbucket (免費提供1個private和任意多個public的代碼庫)。國內的如https:///, 以及我最近1年在使用的http://git.oschina.net/–速度快、private免費、可團隊協(xié)作等。 目測,Git因為是目前最火的、最流行的源碼管理工具了吧。 git這么火,不僅僅是其免費、開源;還源于其血統(tǒng)和傳奇:Linux創(chuàng)始人Linux Torvalds 花了短短幾天寫出來的,據說;自那以后,Linux就在Git下進行源碼管理,加之,基于Linux的Android火的厲害。
頭次聽說Perforce源碼管理工具,是看《游戲引擎框架》這本書,聽說在游戲行業(yè),用的很多,當時并未走心。第二次聽說是li口頭告之的, 大名鼎鼎的EA用的就是這個產品,但是還沒有反應上來是啥–誤以為是performance,用于測軟件性能的工具,呵呵。
花了約1.5天,看了一下官方文檔和網友整理的博客《[SCM]軟件配置管理》;自己下載Perforce工具–20人以下是免費的,動手在Windows 7上搭建了Perforce服務器。 配置Perforce服務: 在Project視圖使用菜單: 不過,有時候,偶爾會有這樣的錯誤,比較惱火: 昨晚處理一個問題:
本地建立workspace,不要指定host:
總之,在概念和操作上大同小異,熟練掌握即可。 對研發(fā)而言,天天會用到,無他,唯手熟爾。 如當熟練掌握一種源碼管理工具,再要學習新的,1、2天就能上手了。如下圖是SVN和Perforce的對比圖:
同類型的幾篇博客鏈接: 轉載請注明轉自《我用過的源碼管理工具們(SCM)》 |
|