我正在使用下面提到的生命周期来推动生产中的任何更改或功能。
Localhost(开发人员在localhost上工作) - >将他们的更改迁移到暂存(对于QA - 可以有超过1个开发人员的更改) - >生产
以下是我正在使用的工作流程
-master(runs on production)
-staging (runs on staging server - parent master)
-feature (parent staging)
开发人员处理功能分支并将其合并回暂存。
我面临的问题是,在暂存中可以有超过1个开发人员代码,如果我想使用1个开发人员的代码,我不能将staging直接合并到master中,也不能将功能合并到master中它是升级的孩子,它可以有暂存的代码,但尚未被推送。
需要帮助来定义正确的git工作流程。任何帮助,将不胜感激。
答案 0 :(得分:1)
我之前使用的工作流程类似于您在问题中描述的情况。以下是该工作流程的简要概述:
一个或多个开发人员可以使用任意数量的功能分支。每个功能分支将在每个冲刺开始时从master
创建。
在sprint结束时,当所有功能完成后,每个功能分支将合并到staging
。最初也将从master
创建暂存。您可以为登台分支指定一个唯一的名称,以便轻松引用它,例如2015年5月分行的staging_05_15
。
每个sprint的最后一周将用于测试staging
分支,以确保它是稳定的。如果staging
分支中的所有功能都正常且测试通过,则staging
将发布给客户。
最后,staging
合并回master
,循环再次为下一个冲刺重复。