欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

svn分支、主干、tag管理

架构&设计模式 water 1261℃ 0评论

文件目录说明:

  • trunk – 主干,正常业务全在此开发

  • branches – 分支目录,fixbug分支/实验分支/紧急法版分支

  • tags – tag目录,暂定只对上线版本打tag,如 online_1.0.0


分支开发流程:

  • step 1:
    在trunk上开发相关功能

  • step 2: 
    trunk代码开发完毕,代码冻结

  • step 3: 
    基于已经冻结的trunk,为上线版本打tag (eg: online_1.0.0)

      此时的目录结构为
      trunk/ (freeze)
      branches/
      tags/
          online_1.0.0 (copy from trunk)
  • step 4: 
    trunk开始开发新功能,trunk此时为开发版

  • step 5: 
    发现1.0.0有bug,需要修改,或有紧急需求需要快速上线,基于online_1.0.0的tag做branch

      此时的目录结构为
      trunk/ (dev)
      branches/
          bugfix_1.0.0 (copy from tag/online_1.0.0) (fixbug 分支建议命名)
          emergency_1.0.0 (copy from tag/online_1.0.0) (紧急需求 分支建议命名)
          experiment_1.0.0 (copy from trunk or tag) (实验性 分支建议命名)
          additional_1.0.0 (copy from trunk or tag) (附加简单的功能到已上线版本 分支建议命名)
      tags/
          online_1.0.0 (copy from trunk)
  • step 6: 
    在bugfix_1.0.0或emergency_1.0.0分支上进行开发,在trunk进行其他开发 (并行开发)

  • step 7: 在bugfix_1.0.0或emergency_1.0.0开发完成之后,基于bugfix_1.0.0或emergency_1.0.0的branch

      做release等,上线后将当前上线分支打tag eg:online 1.0.1
    
      trunk/ (dev)
      branches/
          bugfix_1.0.0 (copy from tag/online_1.0.0) (fixbug 分支建议命名)
          emergency_1.0.0 (copy from tag/online_1.0.0) (紧急需求 分支建议命名)
          experiment_1.0.0 (copy from trunk or tag) (实验性 分支建议命名)
      tags/
          online_1.0.0 (copy from trunk) 
          online 1.0.1  (copy from branches/bugfix_1.0.0)
  • step 8: 
    根据需要选择性的把ugfix_1.0.0或emergency_1.0.0分支merge回trunk(需不需要,什么时候进行这步操作,要根据具体情况)

转载请注明:学时网 » svn分支、主干、tag管理

喜欢 (0)or分享 (0)

您必须 登录 才能发表评论!