A、Svn代码分为主干和分支。
主干用途:常规的代码提交了,主要是新功能的提交。
分支:分为发布分支,实验性分支。
发布分支用途:一个版本到开发后期,新需求已不能提交到发布分支上。只能用于修复bug。
而敏捷开发中,新功能的开发和bug的修复通常是同期进行的。
实验性分支用途:新功能不确定时,可以拉一个分支实验效果,方便大家一起开发查看。
B、代码提交细则
一个版本的开发主要有以下过程:
一、新需求开发阶段。
这个时期代码都是新功能,提交到主干上。
二、稳定阶段。
没有分布拉分支前:
这个时期主要是bug修复,提交到主干上。
拉发布分支时机:
一旦出现新需求或者出现改动较大的功能时,不应该跟随版本发布,则应该拉一个发布分支。
拉发布分支后:
Bug修复:提交到发布分支
新功能,大的改动:提交到主干。
三、发布以后。
版本发布以后,通常有用户反馈bug(大公司有灰度过程)。这个时期,发布分支还没有完全废弃,随时有运营过来找你要包。直到下一个稳定阶段,拉出了新的发布分支,旧的发布分支才废弃,svn上留档查看。
Bug修复:提交到发布分支和主干。
新功能:提交到主干。