SVN的分支是做什么的?

最近在用SVN进行提交代码的操作,忽略了一个分支的概念,一直认为我们始终在一个代码仓内进行代码的修改和管理,直到自己在服务器上搭建SVN库的时候慢慢了解分支存在的意义。

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

  • 当每一版本发出前,又需要进行新功能开发,即从当前主线copy一份和主线一样的代码仓,在不影响主线功能的前提下,开发新功能。

  • Copy出来的新代码仓即为分支Branch,原代码仓即为主线Trunk。

  • 当建立的Branch功能不是开发新功能,而是稳定代码时,称为Tag。

  • 新功能开发完后,需再手动由分支合并(merge)到主线.。

  • 任何情况下,版本发布时,编译源码均已主线为准。

  • 同一个功能(feature),不推荐同时存在2个以上的分支。

你可能感兴趣的:(SVN的分支是做什么的?)