-- master
-- release1
-- feature1
-- feature2
-- dev
步骤:
a. feature 均从 release1 检出分支,任意合并到 dev,feature 产生的 bug 均归属于该 feature,保证 feature 和 dev 之间形成闭环,不允许在 dev 上修改属于 feature 的功能以及 bug
b. 如果 master 出 bug,检出分支,修复后合并到 dev、release1、master 分支,并确保产生 release2,后续 feature 从 release2 产生
c. UAT 时,若 feature1、feature2 确认开发完成并发布,从 release2 开出新分支,合并相应的 feature1、feature2 到 release3,即使此时 dev 可能有 feature1、feature2、feature3 ...
d. UAT 出现 bug,确认出现问题的 feature,修复该 feature,合并至 dev、release3
问题:
a. 在 feature1 和 feature2 出现功能冲突的时候,同时发到 dev,会出现功能覆盖的问题
b. dev 代码很杂乱,产生问题需要进行排查
2.方法二
分支结构:
-- master
-- release1
-- dev
-- feature1
-- feature2
步骤:
a. feature 均从 dev 检出分支获得
b. 需要测试 feature1/2,则把分支切成 feature1/2,待测试完毕后,合并到 dev,同时 bug 均属于该 feature
c. master 出现 bug,检出新分支,修复后合并到 dev master,可能需要合并到各个 feature
d. UAT时,检出 dev 到 release2 即可
问题:
a. 在 feature1、feature2 ... 合并到 dev 后,又出现 feature1 的功能不发布的情况,需要较大改动 dev 分支,但是可以通过检出另一个干净的分支解决
b. 无法及时测试各个 feature 代码之间产生的影响,如果需要动 dev 的代码,需要各个分支同时合并 dev
git分支开发的两种方式
一点不成熟的想法,感觉最近流程上出了点问题
1.方法一
分支结构:
步骤:
问题:
2.方法二
分支结构:
步骤:
问题: