成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SVN中Branch和tag優(yōu)劣大比拼

開發(fā) 項(xiàng)目管理
本文向大家簡(jiǎn)單介紹一下SVN中Branch和tag的比較,和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。

本節(jié)主要講解一下在SVN中Branch和tag的比較,SVN中Branch和tag在一個(gè)功能選項(xiàng)中,在使用中也往往產(chǎn)生混淆。在實(shí)現(xiàn)上,branch和tag,對(duì)于svn都是使用copy實(shí)現(xiàn)的,所以他們?cè)谀J(rèn)的權(quán)限上和一般的目錄沒有區(qū)別。至于何時(shí)用tag,何時(shí)用branch,完全由人主觀的根據(jù)規(guī)范和需要來選擇,而不是強(qiáng)制的(比如cvs),下面我們就來看一下SVN中Branch和tag的具體介紹。

SVN中Branch和tag的比較
在SVN中Branch和tag在一個(gè)功能選項(xiàng)中,在使用中也往往產(chǎn)生混淆。在實(shí)現(xiàn)上,branch和tag,對(duì)于svn都是使用copy實(shí)現(xiàn)的,所以他們?cè)谀J(rèn)的權(quán)限上和一般的目錄沒有區(qū)別。至于何時(shí)用tag,何時(shí)用branch,完全由人主觀的根據(jù)規(guī)范和需要來選擇,而不是強(qiáng)制的(比如cvs)。

一般情況下,tag,是用來做一個(gè)milestone的,不管是不是release,都是一個(gè)可用的版本。這里,應(yīng)該是只讀的。更多的是一個(gè)顯示用的,給人一個(gè)可讀(readable)的標(biāo)記。
branch,是用來做并行開發(fā)的,這里的并行是指和trunk進(jìn)行比較。比如,3.0開發(fā)完成,這個(gè)時(shí)候要做一個(gè)tag,tag_release_3_0,然后基于這個(gè)tag做release,比如安裝程序等。trunk進(jìn)入3.1的開發(fā),但是3.0發(fā)現(xiàn)了bug,那么就需要基于tag_release_3_0做一個(gè)branch,branch_bugfix_3_0,基于這個(gè)branch進(jìn)行bugfix,等到bugfix結(jié)束,做一個(gè)tag,tag_release_3_0_1,然后,根據(jù)需要決定branch_bugfix_3_0是否并入trunk。對(duì)于svn還要注意的一點(diǎn),就是它是全局版本號(hào),其實(shí)這個(gè)就是一個(gè)tag的標(biāo)記,所以我們經(jīng)??梢钥吹?,什么什么release,基于xxx項(xiàng)目的2xxxx版本。就是這個(gè)意思了。但是,它還明確的給出一個(gè)tag的概念,就是因?yàn)檫@個(gè)更加的可讀,畢竟記住tag_release_1_0要比記住一個(gè)很大的版本號(hào)容易的多。

SVN中Branch和tag建立的方法比較簡(jiǎn)單,totoiseSVN中的操作是:
1.選擇Branch和tag..
2.在出來的界面中的ToURL中填上URL,一般是svn://IP/Project/branches/branch-1,這樣就建立了一個(gè)branch-1的branch.建立tag是一樣的操作,只不過URL一般是svn://IP/Project/tags/tag-1
3.后面的Createcopyfrom是用于選擇從你當(dāng)前的workingbase中的哪個(gè)版本中建立Branch和tag,可以根據(jù)自己的選擇來訂制,一般選擇HeadRevision
subclipse中幾乎是一樣的操作。

Merge分為很多種:
1.多個(gè)branch之間merge
2.branchmerge到trunk
3.trunkmerge到branch
第2種用的比較多,比如在otfs接口中netamount的需求提出后就得建立一個(gè)netamount的branch,trunk繼續(xù)在非netamount的情況下繼續(xù)開發(fā),netamount單獨(dú)開發(fā),當(dāng)netamount功能測(cè)試通過后,將netamountbranchmerge到trunk下,然后將trunkrelease。第3種情況用的也不少,如上的例子,當(dāng)用戶進(jìn)行netamount測(cè)試時(shí),如果用戶不想只測(cè)試netamount的功能,則需要將trunk中的修改merge到netamountbranch,然后從netamountbranch中發(fā)布一個(gè)版本供用戶測(cè)試。

branch merge to trunk在tortoiseSVN操作如下:
1.選擇TortoiseSVN->Merge
2.選擇Reintegrateabranch
3.選擇FromURL,URL填好之后可以點(diǎn)擊ShowLog,可以看看這個(gè)branch是否是你要merge的內(nèi)容,下面的Workingcopy中也可以ShowLog,可以確認(rèn)一下你的工作目錄是否是trunk。確認(rèn)后點(diǎn)擊Next
4.MergeOptions里面有些選項(xiàng),根據(jù)需要來選擇,TestMerge按鈕會(huì)告訴你這次Merge會(huì)做哪些操作,***先TestMerge一下!如果是預(yù)期的Merge操作,點(diǎn)擊Merge則可以將branchMerge到本地工作目錄下
5.有沖突的文件需要解決好沖突,解決之后點(diǎn)擊svncommit則完成了merge

SVN中Branch和tag比較介紹時(shí)從多個(gè)revision中merge到本地工作目錄在tortoiseSVN的操作如下:
1.選擇TortoiseSVN->Merge
2.選擇Mergearangeofrevisions
3.URLtomergefrom填上merge的來源,merge來源一般和你的workingcopy是不同的branch或者workingcopy是trunk而mergefrom是branch
4.Revisionrangetomerge填上需要merge的revision,格式是1,3,5或者1-10
5.后續(xù)操作同Reintegrateabranch

subclipse進(jìn)行Merge操作同tortoiseSVN的操作方式有所區(qū)別,原理基本同Mergearangeofrevisions。
點(diǎn)擊Team->Merge后,只有一個(gè)界面,這個(gè)界面提供了兩種Merge操作方式:
1.Merge某個(gè)版本范圍內(nèi)的修改到本地工作目錄上
2.Mergefeaturebranch到trunk(也需要先merge到本地)
第1種的操作方法是:
1.在fromurl中填上branch的url
2.fromrevision中選擇建立這個(gè)branch的revision號(hào),不是***的那個(gè)版本號(hào)!
3.tourl框中勾上"Use'From:'URL"這個(gè)checkbox,ToRevision中選擇需要需要Merge到的revision號(hào),一般勾headrevision
4.Dryrun讓你預(yù)覽一下merge效果,UnifiedDiff將Merge的兩邊進(jìn)行Diff并將Diff結(jié)果保存到文件中。(在我機(jī)器中Dryrun沒有窗口出來,diff結(jié)果的文件除非只有很小的變化,不然看得頭大)
5.點(diǎn)擊Merge將merge到本地,這時(shí)候與版本庫(kù)進(jìn)行一下同步應(yīng)該和上一步的dryrun有同樣的效果,如果merge過來的東西不是你預(yù)期的更改可以選擇revert,但是新增的文件需要手工刪除!如果是預(yù)期的merge效果,那commit,記得在comments中寫上merge來的branch、fromrevision、torevision(不要寫head,寫數(shù)字)總的來看subclipse的merge操作并不方便,不如tortoiseSVN。SVN中Branch和tag的比較介紹完畢。 

【編輯推薦】

  1. 技術(shù)指導(dǎo):Subversion安裝配置(Windows)之詳解
  2. Subversion和TortoiseSVN如何在Windows下進(jìn)行構(gòu)建SVN版本控制
  3. 深度剖析:Subversion服務(wù)器安裝配置
  4. MyEclipse中SVN安裝配置新手指南
  5. MyEclipse下配置SVN專家全程指導(dǎo)

 

 

責(zé)任編輯:佚名
相關(guān)推薦

2010-05-28 11:09:51

SVN功能

2020-08-04 17:06:40

Merging Rebasing Git

2010-03-18 14:54:46

主流無線技術(shù)

2011-01-19 11:10:30

2010-08-05 14:25:30

Flex框架

2017-09-10 14:29:03

眼力

2010-09-08 15:41:28

SIP協(xié)議棧

2011-11-08 10:29:44

2010-08-25 16:12:34

職場(chǎng)

2014-01-07 17:08:02

Java開源框架

2023-05-26 15:53:48

MidjourneyAI圖像

2021-03-15 21:07:17

IT行業(yè)薪酬薪水

2010-05-24 18:32:16

SVN中tag bra

2010-07-14 13:38:51

Perl開發(fā)工具

2013-04-22 14:21:13

WP、Android、

2009-12-01 08:47:41

2009-10-13 14:46:00

思科認(rèn)證

2018-10-25 14:08:07

KubernetesGoogle

2019-03-29 08:25:21

JSONXML前端

2011-04-01 09:18:01

MRTGCactiZabbix
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久精品99 | 在线视频亚洲 | 欧美日本一区 | 一级亚洲 | 国产成人综合亚洲欧美94在线 | 久久不卡 | 在线一区二区国产 | 亚洲精品一区二区三区四区高清 | 亚洲在线中文字幕 | 久久av网 | 国产在线精品一区二区三区 | 国产四虎| av国产精品| 韩日av在线 | 视频一区二区在线观看 | 欧美一区二区三区在线 | 911影院 | 久久精品一区二区 | 精品欧美一区二区精品久久久 | 国产h视频 | 欧美三级电影在线播放 | 99精品国产一区二区三区 | 午夜午夜精品一区二区三区文 | 亚洲欧美激情视频 | 夜夜爽99久久国产综合精品女不卡 | 日韩免费av | 国产一区二区在线视频 | 国产高清在线 | 国产一区二区在线播放 | 午夜免费网站 | 日韩免费网站 | 亚洲高清视频一区二区 | 国产一区二区三区四区五区3d | 成人免费视频网站在线看 | 91看国产| 91婷婷韩国欧美一区二区 | 91看国产 | 日韩一区二区三区在线视频 | 中文字幕 视频一区 | 99精品网| 91啪影院|