分支 Branching

版本控制的一个重要特性是能将变更隔离成独立的开发线路。这就是所谓的分支(branch)。分支常用来测试新功能,但又不会因为编译错误或BUG干扰开发主线。一旦分支稳定下来,就可以把分支合并(merge)回主线(the trunk)了。

版本控制的另一个特性是标记特殊版本(比如一个可以发布的版本),这样有利于在任何时候重新创建一个特定的build或开发环境。这就是所谓的标记(tagging)。

Subversion没有什么专门的命令来branching或者tagging,而使用cheap copies来代替。Cheap copies有点像links(译者注:就像windows系统的快捷方式),并没有真正的进行复制操作。

Creating a Branch or Tag

在从副本创建分支或标记前,最好先确保本地与仓库的版本一致。




选中工作副本父目录,调出菜单,选择命令Branch/Tag。输入分支或标记的仓库路径URL。把原来输入的trunk 换成tags/tagname ,这里tagname 可能是ProjectName_v1.10.

    C:/SVNRepository/trunk/ProjectName/...

    C:/SVNRepository/trunk/AnotherProject/...

    C:/SVNRepository/branches/ProjectName_SpecialDebugBuildBasedOn_v1.09/

    C:/SVNRepository/tags/ProjectName_v1.10

按下OK钮,Subversion就在仓库中用指定的目录创建了一个cheap copy。创建分支或标记都不影响本地副本。

如果本地有没有提交的改动,TortoiseSVN会在创建标记时一起提交改动。


HEAD revision in the repository: 仓库最新版本复制到新分支里,本地修改不会被上传
Working copy: 本地复制到新分支里,本地修改会被上传,但是新建的文件不会被上传
Switch working copy to new branch/tag: 更新会,本地会自动转换到新分支,不推荐使用

参考 http://blog.csdn.net/happy4nothing/article/details/376604#_Toc101751908

猜你喜欢

转载自vaadin.iteye.com/blog/1953984