日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

SVN分支管理策略個人見解

 好閨女瑤瑤 2018-01-31

本篇目錄

前言

使用svn做為源碼管理工具已有幾年,但一直都只是使用到了trunk。最近項(xiàng)目中發(fā)版本每次都會將一個版本的文件拷貝打包為rar壓縮文件,下個版本迭代則重新在svn服務(wù)端創(chuàng)建新的Repository用于管理。顯然這tag版本脫離了svn的管理,日志記錄也會發(fā)生斷層。

于是最近就查閱了一些文章,結(jié)合實(shí)際對 trunk、tags、branches 進(jìn)行體驗(yàn)操作,有點(diǎn)收獲,怕以后忘了,故做此記錄。

 

SVN分支管理策略

其中

Trunk:主開發(fā)分支,所有最新的代碼都在這里。

Tags:一個里程碑版本,一般都可保證直接上線(名字:”V1.0”,”V1.1”,”V2.1”,”School_V1.0”,”School_V1.1”…),用于存放發(fā)布的版本。

Hotfix branch:修正bug的分支(名字:”hotfix_V1.x”,” School_hotfix_V1.x”, “School_hotfix_V1.x”),從需要修復(fù)的tag拉出分支,用于解決已上線版本的bug。

Customize branch:定制化需求的開發(fā)分支(名字:”School_Develop”…),用于定制化需求開發(fā)一個版本。

VisualSVN Server

服務(wù)端采用VisualSVN Server是免費(fèi)的,而客戶端VisualSvn是收費(fèi)的,可使用免費(fèi)AnkhSvn替代集成至Visual Studio使用。VisualSVN Server的下載地址:https://www./server/download/,VisualSVN Server的安裝使用網(wǎng)上有很多文章,此處不做描述。

TortoiseSVN客戶端

Repository的創(chuàng)建


Check out

首先Checkout在服務(wù)端repository創(chuàng)建的Test,默認(rèn)創(chuàng)建了三個空文件夾。

trunk創(chuàng)建新項(xiàng)目MyProject


trunk更新提交更新,迭代版本創(chuàng)建Tag V1.0

提交迭代版本更新。


基于trunk中最新版本創(chuàng)建Tag_V1.0。在/trunk/MyProject目錄上右鍵,依次選擇"TortoiseSVN" -> "Branch/tag...",在彈出窗口的"To path"中填入tag的地址。


提交后在文件夾更新后會在Test\tags文件夾下出現(xiàn)MyPro_V1.0文件夾,tags目錄下的MyPro_V1.0文件夾就是以trunk中指定的版本拷貝的副本做為版本V1.0進(jìn)行的封存。

基于Tag的Hotfix Branch

當(dāng)版本V1.0發(fā)布上線后,出現(xiàn)線上bug后需要修復(fù),則以Tag中MyPro_V1.0創(chuàng)建Hotfix Branch(步驟和創(chuàng)建Tag類似),在Hotfix的分支中修復(fù)問題。修復(fù)完成后需要將此次的改動Marge(合并)到trunk中同時創(chuàng)Tag_V1.1進(jìn)行發(fā)布。


提交后在文件夾更新后會在Test\branches文件夾下出現(xiàn)bugfix_by_account文件夾,在此基礎(chǔ)上修復(fù)問題并提交。


在/branches/bugfix_by_account目錄上右鍵,依次選擇"TortoiseSVN" ->"Revision graph",在彈出的窗口中可以看到版本分支圖。



Hotfix Branch改動Marge(合并)到trunk中同時創(chuàng)Tag_V1.1進(jìn)行發(fā)布

在/trunk/MyProject目錄上右鍵,依次選擇"TortoiseSVN" ->"Merge...",


點(diǎn)Next出現(xiàn)如下窗口,


如果trunk中的版本修改過的文件與Hotfix分支中的修改不重合則不會產(chǎn)生沖突。下圖是trunk進(jìn)行過版本提交,與Hotfix分支中的修改產(chǎn)生沖突。


點(diǎn)擊 Edit Confict解決沖突。


沖突處理完后點(diǎn)擊Resolved,沖突解決完成本地trunk中已包含Hotfix分支的內(nèi)容,合并后需要提交至svn服務(wù)器。

Hotfix分支修復(fù)完成后創(chuàng)建Tag_V1.1與之前trunk創(chuàng)建Tag_V1.0類似。

完成以上動作后的版本分支圖如下。


定制化分支Customize branch

定制化分支使用的方式和之前創(chuàng)建branch方式類似,在此不做贅述。

總結(jié)

合并發(fā)生在本地working copy,只要你不提交就不會影響到repository。

合并前一定要先update、commit,保證不會out of day,并將本地的修改保存到repository。

使用svn創(chuàng)建的分支都會在指定的文件夾中創(chuàng)建副本,如果是在不同的分支文件夾中開發(fā)時候需要重新對項(xiàng)目配置(eg:IIS外部主機(jī)),也可在trunk中切換分支則不用修改配置,但是svn服務(wù)端需要保持可連接狀態(tài)。

最后說一句用過git之后,再也不想用其它[源代碼]管理器。


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多