git workflow(工作流程)

使用原因

  • 合理的git流程管理,可以减少冲突的发生,并且方便多人协作。
  • 合理的分支设置,可以有效安排开发流程,使得软件的开发过程更易于管理。

参考文章

工具

####一个git扩展集合,提供了高级的仓库管理,基于 A successful Git branching model。 * 项目地址:git-flow * 使用说明:wiki

场馆项目的分支建议

  • feature 新功能分支(有时也称之为特性分支)被用于即将开发的或更长期的功能开发。新功能分支建立时,我们可能还无法准确预知它的能完成时间。新功能分支在该功能开发过程中存在,当开发完毕后,被合并至develop分支,完成其生命周期。

  • develop origin/develop作为另一个主要分支,是因为这个分支上的最新代码代表着开发人员为下一个发布版本提交的最新代码。有时我们也将其称之为『集成分支』。它一般可用于自动集成工具发布『每日构建』。

  • release 发布分支用于新版本发布前的准备工作。它允许我们在发布前,做最后一点点改动,包括少量BUG的修改、元数据(如版本信息、编译参数等)的修改等。当所有工作完成后,develop分支再将这些修改全部合并回来,开始下一个版本的开发工作。 当一个发布分支已经准备好分布时,需要可以进行如下操作。首先,该发布分支需要被合并至master分支(注意,所有master分支的提交都代表一个新的发布工作);然后,对master增加一个tag,以便未来对历史进行跟踪;最后,所有发布分支上的提交都需要合并回develop分支,确保下一个发布工作中包括了所有的bug修复。

  • hotfixes 紧急修复分支和发布分支相似,但它并不是计划中的工作。它应用于生产环境中出现的紧急bug修复。紧急修复分支基于线上运行的tag号签出,并以此为基础进行修改。

  • master origin/master作为主要分支之一,是因为这个分支上的最新代码总是代表着生产环境的发布版本。