版本管理系统有两个基本的功能分支(Branch)管理和标记(Tag)管理。分支用于在并行开发,当分支上的功能开发完毕、测试通过以后)就可以将分支上的功能合并到主分支(Trunk)上。而利用标记(Tag)功能就可以再任何时间创建一个发布版本。Subervsion没有一个特殊命令来创建Brach或Tag,而是用了一个所谓的“廉价拷贝-cheap copies”来实现。廉价拷贝和Unix中的硬链接(Hard Link)类似,也就是说不是在版本库中创建一个拷贝,而是通过一个链接指向特定发布版本的内部链接。基于这种实现的分支和标记不但创建容易而且不占用多余的空间。
操作步骤
首先你在本地要有一个你想拷贝到Brach或Tag中工作拷贝(Working Copy),例如E:\test。然后选中这工作拷贝文件夹,点击右键选中TortoiseSVN->分支/标记
在接下来的对话框中你会要求输入创建分支或标记的目标路径
创建分支或标记的时候,你有三个选项版本库中的最新版本,版本库中的指定版本,工作副本。
最新版本(HEAD revision in the repository)——直接从版本库中最新创建,由于不需要从你的工作拷贝中传输数据,创建过程会很快。
版本库中的指定版本(Specific revision in the repository)——同样是从版本库中创建,不同的是你可以指定一个版本号。如果你忘了版本号,可以通过显示版本记录来找到你想要的版本号(如下图)。这种方式同样不需要从你的工作拷贝中传输数据,创建过程也很快。
工作副本——这种方式会依据当前工作拷贝的版本状况(无论是你做了本地的修改,或是将其中的某些文件更新到了一个历史版本)来创建分支拷贝。这种创建方式会根据工作副本中每个文件的版本情况来决定是否要从工作拷贝向版本库中传输数据。
最有一个选项就是“切换工作副本至分支/标记”选项,如果选中这个选项,顾名思义你用来创建分支或标记的工作拷贝就会自动切换到指定创建的版本或标记的。当然你可以通过Switch(重新定位)和Checkout(检出)功能来完成切换的工作。
![](https://i-blog.csdnimg.cn/blog_migrate/365e2717cd88f4b40b2d6cabd37a94e7.jpeg)
在接下来的对话框中你会要求输入创建分支或标记的目标路径
![](https://i-blog.csdnimg.cn/blog_migrate/c1177bd87d0b00d0d7378bab5a35a29b.jpeg)
创建分支或标记的时候,你有三个选项版本库中的最新版本,版本库中的指定版本,工作副本。
最新版本(HEAD revision in the repository)——直接从版本库中最新创建,由于不需要从你的工作拷贝中传输数据,创建过程会很快。
版本库中的指定版本(Specific revision in the repository)——同样是从版本库中创建,不同的是你可以指定一个版本号。如果你忘了版本号,可以通过显示版本记录来找到你想要的版本号(如下图)。这种方式同样不需要从你的工作拷贝中传输数据,创建过程也很快。
![](https://i-blog.csdnimg.cn/blog_migrate/5e272023fa5d4e13f5e252ea001788f9.jpeg)
工作副本——这种方式会依据当前工作拷贝的版本状况(无论是你做了本地的修改,或是将其中的某些文件更新到了一个历史版本)来创建分支拷贝。这种创建方式会根据工作副本中每个文件的版本情况来决定是否要从工作拷贝向版本库中传输数据。
最有一个选项就是“切换工作副本至分支/标记”选项,如果选中这个选项,顾名思义你用来创建分支或标记的工作拷贝就会自动切换到指定创建的版本或标记的。当然你可以通过Switch(重新定位)和Checkout(检出)功能来完成切换的工作。