SVN中的branch和tag

branch SVN最有用的功能之一是可以创建branch,以保护源码不被破坏性的修改。新branch用来开发新功能,避免将含有bugs和errors的代码直接提交到/trunk上,待新功能稳定后,再将branch上的源码合并到/trunk上。
创建新的branch很简单。只需要使用svn copy命令将项目复制一份到/branches目录中,新分支需要一个唯一的命名以将其与/branches中的其他分支区别开。

svn copy\ \ -m "commit message"

-m "commit message" 为创建新分支时的注释。
在TortoiseSVN中创建分支 如果你使用的是TortoiseSVN图形化管理工具,创建分支时可以选择工作副本中要复制到/branches或/tag的文件夹,然后右键单击并选择命令TortoiseSVN→branch/tag....
新分支的默认目标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 此外,你可以标记某些revisions,并且以后重新构建。
通常,tag用于创建项目的一个特定阶段的快照(如上线版本的tag),tag一般不会用来开发或者在tag的revision上做修改。
【SVN中的branch和tag】如果你想要在某个tag版本上做修改,应该从该tag拉取新的branch,在新branch上完成工作,并在工作完成后,在该branch上打上新的tag。
创建tag的方法和创建branch相似,不同之处仅仅在于tag的路径位于/tags中,而不是之前的/branches。
Subversion中的branches和tags没什么区别,区别仅仅在于用户如何使用这两个路径。一般来说,branches用来修改并最终合并到/trunk上,而tags用来创建项目特定时间点的快照,且永远不会被直接修改。
原文链接
Branching and Tagging in SVN

    推荐阅读