SVN中的branch和tag

branch

SVN最有用的功能之一是可以創(chuàng)建branch,以保護源碼不被破壞性的修改。新branch用來開發(fā)新功能,避免將含有bugs和errors的代碼直接提交到/trunk上,待新功能穩(wěn)定后,再將branch上的源碼合并到/trunk上。

創(chuàng)建新的branch很簡單。只需要使用svn copy命令將項目復(fù)制一份到/branches目錄中,新分支需要一個唯一的命名以將其與/branches中的其他分支區(qū)別開。

svn copy <https://subversion.assembla.com/svn/path/to/trunk> \ 
         <https://subversion.assembla.com/svn/path/to/branch_name> \          
         -m "commit message"

-m "commit message" 為創(chuàng)建新分支時的注釋。

在TortoiseSVN中創(chuàng)建分支

如果你使用的是TortoiseSVN圖形化管理工具,創(chuàng)建分支時可以選擇工作副本中要復(fù)制到/branches或/tag的文件夾,然后右鍵單擊并選擇命令TortoiseSVN→branch/tag....

新分支的默認目標(biāo)URL是工作副本所在的源URL, 你需要將該URL編輯為branch或tag的新路徑,而不是使用這樣的URL:

https://subversion.assembla.com/svn/path/to/trunk

新branch或tag的URL如下:

https://subversion.assembla.com/svn/path/to/branch_name

tag

此外,你可以標(biāo)記某些revisions,并且以后重新構(gòu)建。

通常,tag用于創(chuàng)建項目的一個特定階段的快照(如上線版本的tag),tag一般不會用來開發(fā)或者在tag的revision上做修改。

如果你想要在某個tag版本上做修改,應(yīng)該從該tag拉取新的branch,在新branch上完成工作,并在工作完成后,在該branch上打上新的tag。

創(chuàng)建tag的方法和創(chuàng)建branch相似,不同之處僅僅在于tag的路徑位于/tags中,而不是之前的/branches。

Subversion中的branches和tags沒什么區(qū)別,區(qū)別僅僅在于用戶如何使用這兩個路徑。一般來說,branches用來修改并最終合并到/trunk上,而tags用來創(chuàng)建項目特定時間點的快照,且永遠不會被直接修改。

原文鏈接
Branching and Tagging in SVN

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容