日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SVN分支維護(hù)專家在線

本節(jié)講解一下如何進(jìn)行SVN分支維護(hù),前面幾節(jié)我們講了SVN的分支與合并,相信大家應(yīng)該掌握了,下面就SVN分支維護(hù)問題和大家討論一下,希望對(duì)你有所啟發(fā)。
你一定注意到了Subversion極度的靈活性,因?yàn)樗孟嗤牡讓訖C(jī)制(目錄拷貝)實(shí)現(xiàn)了分支和標(biāo)簽,因?yàn)榉种Ш蜆?biāo)簽是作為普通的文件系統(tǒng)出現(xiàn),會(huì)讓人們感到害怕,因?yàn)樗`活了,在這個(gè)小節(jié)里,我們會(huì)提供安排和管理數(shù)據(jù)的一些建議。

創(chuàng)新互聯(lián)是一家專業(yè)從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!

版本庫布局

有一些標(biāo)準(zhǔn)的,推薦的組織版本庫的方式,許多人創(chuàng)建一個(gè)trunk目錄來保存開發(fā)的“主線”,一個(gè)branches目錄存放分支拷貝,一個(gè)tags目錄保存標(biāo)簽拷貝,如果一個(gè)版本庫只是存放一個(gè)項(xiàng)目,人們會(huì)在頂級(jí)目錄創(chuàng)建這些目錄:

 
 
 
  1. /trunk  
  2. /branches  
  3. /tags  
  4. [/pre]如果一個(gè)版本庫保存了多個(gè)項(xiàng)目,管理員會(huì)通過項(xiàng)目來布局(見“規(guī)劃你的版本庫結(jié)構(gòu)”一節(jié)關(guān)于“項(xiàng)目根目錄”):  
  5. /paint/trunk  
  6. /paint/branches  
  7. /paint/tags  
  8. /calc/trunk  
  9. /calc/branches  
  10. /calc/tags  
  11. [/pre] 

當(dāng)然,你可以自由的忽略這些通常的布局方式,你可以創(chuàng)建任意的變化,只要是對(duì)你和你的項(xiàng)目有益,記住無論你選擇什么,這不會(huì)是一種永久的承諾,你可以隨時(shí)重新組織你的版本庫。因?yàn)榉种Ш蜆?biāo)簽都是普通的目錄,svnmove命令可以任意的改名和移動(dòng)它們,從一種布局到另一種大概只是一系列服務(wù)器端的移動(dòng),如果你不喜歡版本庫的組織方式,你可以任意修改目錄結(jié)構(gòu)。記住,盡管移動(dòng)目錄非常容易,你必須體諒你的用戶,你的修改會(huì)讓你的用戶感到迷惑,如果一個(gè)用戶的擁有一個(gè)版本庫目錄的工作拷貝,你的svnmove命令也許會(huì)刪除最新的版本的這個(gè)路徑,當(dāng)用戶運(yùn)行svnupdate,會(huì)被告知這個(gè)工作拷貝引用的路徑已經(jīng)不再存在,用戶需要強(qiáng)制使用svnswitch轉(zhuǎn)到新的位置。下面我們看一下SVN分支維護(hù)中數(shù)據(jù)的生命周期。

數(shù)據(jù)的生命周期

另一個(gè)Subversion模型的可愛特性是分支和標(biāo)簽可以有有限的生命周期,就像其它的版本化的項(xiàng)目,舉個(gè)例子,假定你最終完成了calc項(xiàng)目你的個(gè)人分支上的所有工作,在合并了你的所有修改到/calc/trunk后,沒有必要繼續(xù)保留你的私有分支目錄:

 
 
 
  1. $svndeletehttp://svn.example.com/repos/calc/branches/my-calc-branch\  
  2. -m"Removingobsoletebranchofcalcproject."  
  3. Committedrevision375.  
  4. [/pre] 

你的分支已經(jīng)消失了,當(dāng)然不是真的消失了:這個(gè)目錄只是在HEAD修訂版本里消失了,如果你使用svncheckout、svnswitch或者svnlist來檢查一個(gè)舊的版本,你仍會(huì)見到這個(gè)舊的分支。
如果瀏覽你刪除的目錄還不足夠,你可以把它找回來,恢復(fù)數(shù)據(jù)對(duì)Subversion來說很簡單,如果你希望恢復(fù)一個(gè)已經(jīng)刪除的目錄(或文件)到HEAD,僅需要使用svncopy-r來從舊的版本拷貝出來:

 
 
 
  1. $svncopy-r374http://svn.example.com/repos/calc/branches/my-calc-branch\  
  2. http://svn.example.com/repos/calc/branches/my-calc-branch  
  3. Committedrevision376.[/pre]  

 在我們的例子里,你的個(gè)人分支只有一個(gè)相對(duì)短的生命周期:你會(huì)為修復(fù)一個(gè)Bug或?qū)崿F(xiàn)一個(gè)小的特性來創(chuàng)建它,當(dāng)任務(wù)完成,分支也該結(jié)束了。在軟件開發(fā)過程中,有兩個(gè)“主要的”分支一直存在很長的時(shí)間也是很常見的情況,舉個(gè)例子,假定我們是發(fā)布一個(gè)穩(wěn)定的calc項(xiàng)目的時(shí)候了,但我們?nèi)詴?huì)需要幾個(gè)月的時(shí)間來修復(fù)Bug,你不希望添加新的特性,但你不希望告訴開發(fā)者停止開發(fā),所以作為替代,你為軟件創(chuàng)建了一個(gè)“分支”,這個(gè)分支更改不會(huì)很多:

 
 
 
  1. $svncopyhttp://svn.example.com/repos/calc/trunk\  
  2. http://svn.example.com/repos/calc/branches/stable-1.0\  
  3. -m"Creatingstablebranchofcalcproject."  
  4. Committedrevision377.  
  5. [/pre] 

而且開發(fā)者可以自由的繼續(xù)添加新的(試驗(yàn)的)特性到/calc/trunk,你可以宣布這樣一種政策,只有bug修正提交到/calc/branches/stable-1.0,這樣的話,人們繼續(xù)在主干上工作,某個(gè)人會(huì)選擇在穩(wěn)定分支上做出一些Bug修正,甚至在穩(wěn)定版本發(fā)布之后。你或許會(huì)在這個(gè)維護(hù)分支上工作很長時(shí)間—也就是說,你會(huì)一直繼續(xù)為客戶提供這個(gè)版本的支持。到這里SVN分支維護(hù)問題講解完畢不知你掌握了沒有。


本文標(biāo)題:SVN分支維護(hù)專家在線
文章路徑:http://m.5511xx.com/article/dppsseh.html