【发布时间】:2015-07-21 09:40:31
【问题描述】:
我试图弄清楚我是否能够利用修改后的 gitflow Git 工作流程,但我正在努力解决它(不确定它是否相关,但计划使用 Atlassian Stash):
我们目前使用 CVS,并且有多个正在进行的大型项目。我们每个月左右都会发布新的项目生产版本,但每个项目的开发时间可能在 1 周到 6 个月之间。我们还进行每周维护发布。最多可能有十几个左右的项目在积极开发中。我们还需要能够在每个项目分支上运行夜间回归测试以及维护。鉴于 CVS 的每个文件的性质,当需要大规模合并时,我们将手动合并分配给六个开发人员。
到目前为止,我最好的想法是使用修改后的 gitflow,我们将拥有以下分支:
master:目前正在生产什么
develop:下一个生产版本的开发分支,将与下一个版本一起发布的项目分支将在这里合并,以及未发布到较大项目的小功能(新功能和生产错误修复)
project/project_name:项目开发/集成/测试分支。这是从开发分支出来的,并在项目开发完成后合并回开发。如果某些项目/项目名称分支需要开发中项目的功能,则可以从现有项目/项目名称分支分支出来。
feature/ticket_no:功能分支,从开发分支出来,用于较小的非项目功能。从 project/project_name 分支出来,用于更大的项目。
release/release_number:发布分支,从开发分支分支出来,因为我们决定是时候削减发布了。合并到master。
bugfix/ticket_no:bugfix 分支,从 release/release_number 分支分支出来,用于 QA 发现的错误。合并回 release/release_number 并开发。
hostix/ticket_no:紧急生产问题的修补程序。从master分支出来。合并到 master、develop 和 release 分支。
这听起来可行吗,还是因为会出现巨大的合并复杂性,我会在这里自欺欺人?对替代方法有什么建议吗?
更频繁地发布不可能限制获得批准的停机时间以进行发布。
【问题讨论】:
标签: git git-branch bitbucket-server