存储库组织
回答
看到这两个问题上的SO了解更多信息:
我做什么,通常会看到一个标准是:
树干应该包含你的主要发展路线,你的不稳定版本。 您应该为您的版本创建发布分支。
喜欢的东西:
/中继线(这里你正在开发2.0版) /branches/RB-1.0(这是1.0发布分支) /branches/RB-1.5
当你在1.5中找到一个bug,将其修复到RB分支中,然后合并到主干。我也推荐this book。
Eric拥有一系列关于源代码管理使用和组织最佳实践的优秀系列文章。 Chapter 7 deals with branches(是的,它建议您建议/ trunk /和/ branches /目录)。
我已经使用Perforce很长一段时间了,所以我的评论可能会以Perforce为中心,但基本原则适用于任何具有一半体面分支的SCM软件。 我是一个非常坚信使用分支开发实践的人。我有一个“主”(又名“主线”),代表从现在到永恒的代码库。目标是在大多数情况下,这是稳定的,如果推动推进,您可以在任何时候削减发布,以反映系统的当前功能。那些讨厌的销售人员不断询问......
开发发生在从MAIN分支的分支(通常 - 偶尔你可能想从现有的开发分支分支)。尽可能多地从MAIN集成到您的开发分支,以防止事态分化过度 - 或者您可以稍后为更大的集成时间预算。只有当你确信它将在即将发布的版本中发布时,才能将你的屁股与新的功能结合起来。
最后,你有一个RELEASE行,这是不同版本的不同分支的选项。有一些选择取决于SCM软件的标签功能,以及主要/次要修订可能有多不同。因此,例如,您可以选择每个发布版本的发布分支,或者仅限于主版本号。你的旅费可能会改变。
一般来说,从MAIN分支到尽可能晚的发布。错误修复和最后一分钟更改可以直接进入RELEASE以便稍后集成到MAIN,也可以直接进入MAIN进行即时集成备份。没有硬性规定 - 做最好的做法。但是,如果您有可能会提交给MAIN的更改(例如,来自开发分支,或MAIN上的某个人“稍作调整”),则执行前者。这取决于你的团队如何工作,你的发布周期是什么等。
E.g.我会有这样的事情:
//MYPROJECT/MAIN/... - the top level folder for a complete build of all the product in main.
//MYPROJECT/DEV/ArseKickingFeature/... - a branch from MAIN where developers work.
//MYPROJECT/RELEASE/1.0/...
//MYPROJECT/RELEASE/2.0/...
一个不平凡的项目可能会有多个DEV分支同时活动。当一个开发已经集成到MAIN中,以便它现在成为核心项目的一部分时,尽可能快地关闭旧的DEV分支。许多工程师会将DEV分支视为他们自己的个人空间,并随着时间的推移将其重用于不同的功能。劝阻这一点。
如果在发布之后,您必须修复一个bug,然后在相应的发布分支中执行该操作。如果之前在MAIN中已经修复了该错误,则整合,除非MAIN中的代码已经发生了很大的变化,修正则不同。
真正区分代码行的是您用来管理它们的策略。例如,哪些测试运行,哪些人评论变更前/变更后,如果构建中断,会发生什么操作。通常情况下,策略 - 因此开销 - 在发布分支中最强,在DEV中最弱。有一篇文章here经历了一些场景,并链接到其他有用的东西。
最后,我建议以一个简单的结构开始,并根据需要只引入额外的dev &版本。
希望能够帮助,而不是说出血 - 显然太多了。
- 1. 简单的混帐存储库组织
- 2. GitHub组织的存储库数量
- 3. Hadoop项目的存储库组织
- 4. 允许Github组织读取存储库
- 5. 代码组织 - 关系或存储库
- 6. 列出组织的分叉存储库
- 7. 开发,存储库和部署组织
- 8. 如何组织储存库可重用的组件
- 9. 数据存储/大型网站的组织。如何组织?
- 10. 如何存储/组织DDL脚本?
- 11. 在Graphite中组织度量存储?
- 12. 如何在git存储库中组织我的项目?
- 13. 使用github搜索api而不指定存储库或组织
- 14. 将用户添加到组织存储库github API
- 15. AWS CodePipeline无法访问组织的存储库
- 16. 如何在Stackdriver中查看github组织存储库
- 17. 需要关于组织SVN存储库的建议
- 18. Alfresco仅作为存储库:如何组织数据?
- 19. 为java 6和7组织github存储库
- 20. 使用存储库设计模式组织类
- 21. GitHub组织可以将代码提交到存储库吗?
- 22. 如何让Team City访问GitHub组织的私人存储库?
- 23. Github:与另一个组织共享私有存储库
- 24. 使用SSH密钥访问Sourcetree中的组织存储库
- 25. 如何使用Git存储库组织跨平台项目?
- 26. 在jcr存储库中组织文件的正确方法
- 27. 如何为C++代码组织SVN存储库
- 28. 如何组织和维护银行存储库
- 29. 如何在IBM i上组织您的RPGLE Subversion存储库?
- 30. 什么是存储和组织图像的NoSQL数据库