svn 分支(branch)和标签(tag)管理
版本控制的一大功能是可以隔离变化在某个开发线上,这个开发线就是分支(branch)。
分支通常用于开发新功能,而不会影响主干的开发。也就是说分支上的代码的编译错误、bug不会对主干(trunk)产生影响。然后等分支稳定之后,可以再合并到主干上。
版本管理系统的一大功能是标记特定版本,以便在任何时候都可以重建某个版本的环境,这个标记版本的动作就是打标签。
svn不需要特殊命令来打分支或者打标签。它使用的是一种“轻量copy”的方式,这种方式有些像unix的硬链接。它不会完整的拷贝仓库,而是创建一个内部链接来指向一个特定的版本。基于此,创建分支和标签(tag)非常快,几乎不需要额外耗费仓库的空间。
1.分支与标签(tag)的区别:
创建方式相同
svn中,分支和标签(tag)之间没有什么明显的差别,分支和标签的创建方式相同。
使用情景不同
分支主要用于开发新功能。
标签(tag)用于保存一个静态的内容。例如一个阶段性成果。
如果用tag来存储一个动态变化的内容,那么系统会进行警告。
建议tag的名称包含版本号
branch包括 日期+功能点
分支和tag的转换
当我们发布了1.0版本,这个1.0版本在tag中存储。
后来发现1.0版本需要修改。那么
我们从1.0的tag创建一个分支。
在分支上修改,直到修改完成。
然后再从该分支创建新的tag,
新的tag创建完成后,将此tag合并到主干(trunk)中