posts - 262,  comments - 221,  trackbacks - 0

          【23】標(biāo)記


          軟件開發(fā)的過程有時是漫長的,但我們的主干、分支達(dá)到一定程度后,我們也許會提交了很多版本,更新很多資源。如果此時我們不適當(dāng)?shù)貙浖鲆粋€“階段的標(biāo)識”,那么在將來的時間我們將很難對某個階段所做的修改有一個明確的記憶。

          也許你會說:我們不是有svn log嗎?我們可以查看log啊~。問題是當(dāng)版本更新到一定程度后,svn log的輸出將變得非常多而復(fù)雜,要在幾百個版本中分辨出來那個版本是我們需要的是一件很困難的事。我們期望能夠有一種類似于“里程碑”式的版本來記錄我們在某段時間內(nèi)的所有更新。

          標(biāo)記Tag就是基于這種概念而出現(xiàn)的。和分支Branch一樣,在SVN看來他們都只是普通的目錄而已,Branch是動態(tài)變化的,而Tag則像快照一樣一旦留下就不會改變了。

          什么時候是Branch?什么時候是Tag?原則如下:

          如果你還需要繼續(xù)向目錄提交變更,它就是個分支。如果一旦拷貝后不再提交任何改變哪就是標(biāo)記。實(shí)際上SVN不會強(qiáng)制你不能對名為***tag的目錄進(jìn)行commit操作,這只是通常上約定。即便因?yàn)檎`操作我們也可以輕易的使用update操作回滾到當(dāng)初創(chuàng)建Tag時的快照版本

          創(chuàng)建標(biāo)記的方法和分支一摸一樣,都是使用svn copy 命令,你也可以加上-r 版本號來指定創(chuàng)建某個版本的快照

          【24】主干、分支與標(biāo)記的配合
          在企業(yè)級的應(yīng)用開發(fā)中,通常會遇到新舊版本同時開發(fā)的問題,為了不影響新版本功能的開發(fā),我們通常采用如下的分支策略:

           Step 1: 所有的程序員把日常開發(fā)的代碼都提交到主干trunk上,包括每天的新功能,bug修正

           Step 2: 當(dāng)開發(fā)進(jìn)行到一個段落后,管理人員認(rèn)為可以釋放版本了。將其拷貝到假設(shè)名為branch/1.0目錄下

           Step 3: 測試或QA組的成員對這個“穩(wěn)定”的版本進(jìn)行測試,與此同時開發(fā)人員繼續(xù)在主干上進(jìn)行2.0版本的開發(fā)

           Step 4: 當(dāng)測試或QA組完成branch/1.0目錄下軟件的測試后,決定可以發(fā)布了。就將其拷貝到假設(shè)名為tag/1.0的目錄下,此時tag/1.0目錄下的內(nèi)容就是我們要正式發(fā)布的產(chǎn)品了。而且不會對該目錄下的任何資東西進(jìn)行修改了。如果有需要則滾落下一版本的開發(fā)、測試。

           Step 5: 發(fā)布成功后,測試或QA組的成員又從trunk目錄下檢出最新的2.0的代碼,拷貝到假設(shè)名為branch/1.1目錄下,重復(fù)上面步驟



          -------------------------------------------------------------
          生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
          posted on 2009-12-11 17:39 Paul Lin 閱讀(369) 評論(0)  編輯  收藏 所屬分類: 項(xiàng)目管理
          <2009年12月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點(diǎn)博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 麻江县| 凤山县| 中宁县| 肃南| 亳州市| 阿尔山市| 沈丘县| 乾安县| 榕江县| 句容市| 上高县| 车致| 中牟县| 三穗县| 桃园县| 静海县| 沾化县| 沅江市| 宜黄县| 神池县| 塘沽区| 西贡区| 三台县| 柘荣县| 博野县| 南木林县| 浦北县| 阿城市| 连南| 遂昌县| 凤翔县| 乐清市| 剑河县| 南汇区| 临颍县| 景东| 北辰区| 缙云县| 当涂县| 谷城县| 株洲县|