偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SVN中tag branch trunk用法詳解

開發(fā) 項(xiàng)目管理
本文向大家簡單介紹一下SVN中tag branch trunk用法,SVN中tag branch trunk都屬于SVN的子命令,那么他們是如何使用的呢,本文就給大家一一講解。

本節(jié)主要講解一下SVN中tag branch trunk的用法,在SVN中Branch/tag在一個功能選項(xiàng)中,在使用中也往往產(chǎn)生混淆。這里就向大家簡單介紹一下,歡迎大家能和我一起學(xué)習(xí)SVN中tag branch trunk的用法。
在實(shí)現(xiàn)上,branch和tag,對于svn都是使用copy實(shí)現(xiàn)的,所以他們在默認(rèn)的權(quán)限上和一般的目錄沒有區(qū)別。至于何時用tag,何時用branch,完全由人主觀的根據(jù)規(guī)范和需要來選擇,而不是強(qiáng)制的(比如cvs)。一般情況下,tag,是用來做一個milestone的,不管是不是release,都是一個可用的版本。這里,應(yīng)該是只讀的。更多的是一個顯示用的,給人一個可讀(readable)的標(biāo)記。branch,是用來做并行開發(fā)的,這里的并行是指和trunk進(jìn)行比較。比如,3.0開發(fā)完成,這個時候要做一個tag,tag_release_3_0,然后基于這個tag做release,比如安裝程序等。trunk進(jìn)入3.1的開發(fā),但是3.0發(fā)現(xiàn)了bug,那么就需要基于tag_release_3_0做一個branch,branch_bugfix_3_0,基于這個branch進(jìn)行bugfix,等到bugfix結(jié)束,做一個tag,tag_release_3_0_1,然后,根據(jù)需要決定branch_bugfix_3_0是否并入trunk。對于svn還要注意的一點(diǎn),就是它是全局版本號,其實(shí)這個就是一個tag的標(biāo)記,所以我們經(jīng)常可以看到,什么什么release,基于xxx項(xiàng)目的2xxxx版本。就是這個意思了。但是,它還明確的給出一個tag的概念,就是因?yàn)檫@個更加的可讀,畢竟記住tag_release_1_0要比記住一個很大的版本號容易的多。

branches:分枝
SVN中tag branch trunk的用法,首先看一下branches的介紹。當(dāng)多個人合作,可能有這樣的情況出現(xiàn):John突然有個想法,跟原先的設(shè)計(jì)不太一致,可能是功能的添加或者日志格式的改進(jìn)等等,總而言之,這個想法可能需要花一段時間來完成,而這個過程中,John的一些操作可能會影響Sally的工作,John從現(xiàn)有的狀態(tài)單獨(dú)出一個project的話,又不能及時得到Sally對已有代碼做的修正,而且獨(dú)立出來的話,John的嘗試成功時,跟原來的合并也存在困難。這時最好的實(shí)踐方法是使用branches。John建立一個自己的branch,然后在里面實(shí)驗(yàn),必要的時候從Sally的trunk里取得更新,或者將自己的階段成果匯集到trunk中。
(svncopySourceURL/trunkDestinationURL/branchName-m"Creatingaprivatebranchofxxxx/trunk.")

trunk:主干
主干,一般來說就是開發(fā)的主要呆的地方,
tag:  圖標(biāo)
在經(jīng)過了一段時間的開發(fā)后,項(xiàng)目到達(dá)了一個里程碑階段,你可能想記錄這一階段的代碼的狀態(tài),那么你就需要給代碼打上標(biāo)簽。
(svncpfile:///svnroot/mojavescripts/trunkfile:///svnroot/mojavescripts/tags/mirrorutils_rel_0_0_1-m"tagedmirrorutils_rel_0_0_1")另有一說,無所謂誰對誰錯。
trunk:表示開發(fā)時版本存放的目錄,即在開發(fā)階段的代碼都提交到該目錄上。
branches:表示發(fā)布的版本存放的目錄,即項(xiàng)目上線時發(fā)布的穩(wěn)定版本存放在該目錄中。
tags:表示標(biāo)簽存放的目錄。
在這需要說明下分三個目錄的原因,如果項(xiàng)目分為一期、二期、三期等,那么一期上線時的穩(wěn)定版本就應(yīng)該在一期完成時將代碼copy到branches上,這樣二期開發(fā)的代碼就對一期的代碼沒有影響,如新增的模塊就不會部署到生產(chǎn)環(huán)境上。而branches上的穩(wěn)定的版本就是發(fā)布到生產(chǎn)環(huán)境上的代碼,如果用戶使用的過程中發(fā)現(xiàn)有bug,則只要在branches上修改該bug,修改完bug后再編譯branches上最新的代碼發(fā)布到生產(chǎn)環(huán)境即可。tags的作用是將在branches上修改的bug的代碼合并到trunk上時創(chuàng)建個版本標(biāo)識,以后branches上修改的bug代碼再合并到trunk上時就從tags的version到branches最新的version合并到trunk,以保證前期修改的bug代碼不會再合并。
-------------------------------------------------------------------------------------------
介紹SVN中tag branch trunk用法時,一直以來用svn只是當(dāng)作cvs,也從來沒有仔細(xì)看過文檔,直到今天用到,才去翻看svnbook文檔,慚愧
需求一:
有一個客戶想對產(chǎn)品做定制,但是我們并不想修改原有的svn中trunk的代碼。
方法:
用svn建立一個新的branches,從這個branche做為一個新的起點(diǎn)來開發(fā)
svncopysvn://server/trunksvn://server/branches/ep-m"initep"
Tip:
如果你的svn中以前沒有branches這個的目錄,只有trunk這個,你可以用
svnmkdirbranches新建個目錄

需求二:
產(chǎn)品開發(fā)已經(jīng)基本完成,并且通過很嚴(yán)格的測試,這時候我們就想發(fā)布給客戶使用,發(fā)布我們的1.0版本
svncopysvn://server/trunksvn://server/tags/release-1.0-m"1.0released"咦,這個和branches有什么區(qū)別,好像啥區(qū)別也沒有?
是的,branches和tags是一樣的,都是目錄,只是我們不會對這個release-1.0的tag做修改了,不再提交了,如果提交那么就是branches

需求三:
有一天,突然在trunk下的core中發(fā)現(xiàn)一個致命的bug,那么所有的branches一定也一樣了,該怎么辦?
svn-r148:149mergesvn://server/trunkbranches/ep其中148和149是兩次修改的版本號。SVN中tag branch trunk用法介紹完畢。

【編輯推薦】

  1. SVN子命令SVN merge使用方法全程指導(dǎo)
  2. SVN子命令SVN Update詳解
  3. 深度剖析:Subversion服務(wù)器安裝配置
  4. SVN子命令diff三大用法詳解
  5. MyEclipse下配置SVN專家全程指導(dǎo)

 

 

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

2010-05-24 18:15:34

SVN中Branch和

2010-05-24 19:19:39

SVN組成

2010-06-02 13:24:02

SVN用法

2010-05-25 17:13:26

SVN子命令log

2010-06-02 13:36:18

SVN用法

2010-05-24 14:57:10

SVN子命令

2021-10-27 18:52:17

Gitflow工具命名

2010-05-24 10:45:52

子命令Svn lock

2023-05-11 16:47:21

playwright用法程序

2023-06-09 08:16:09

GolangStruct Tag

2010-05-20 12:43:37

SVN Update命

2010-05-25 17:35:12

SVN代理

2010-10-09 09:56:51

JavaScriptObject對象

2010-09-07 16:46:59

CSSexpression

2010-09-08 13:01:20

atCSS

2010-05-26 14:28:53

本地SVN

2010-05-27 10:32:19

SVN配置文檔

2010-06-01 12:36:04

SVN分支與合并

2015-04-07 10:31:31

PHPMySQLBuffer用法

2023-12-12 13:55:00

Pythonsubprocess命令
點(diǎn)贊
收藏

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