只把 feature a 合并到 master/发布分支呗 不要告诉我改 bug 是直接在 dev 分支上操作的
linxb
2020-12-17 16:23:33 +08:00
但是如果 a 功能出现 bug,必须在 a 分支上修复,修复完之后再一次合并到 dev 分支,直到测试完成为止,上线就是把 a 分支合并到 release 发布。
simonlu9
2020-12-17 16:34:42 +08:00
@jerryzhou343 @KuroNekoFan 谢谢,那我理解错了,我以为开发完就可以合并到 dev,release,然后再 release 分支改 bug,像这样的话,一定要保证 feature 分支不能有其他分支的代码污染,还有一个问题,像这种多人开发的话,一般提测的话,像上面这种情况,是否要 ab 都合并到 dev 分支,然后在 dev 发版到测试,因为测试不可能单独测一个功能,如果混在一起,dev 肯定会污染
beidounanxizi
2020-12-17 17:41:57 +08:00
gitflow 看看美好 实践起来 还不如 都合并到 master git rebase 上
lululau
2020-12-17 18:03:02 +08:00
我和楼主对 gitflow 的理解是一致的,代码是在测试之前 merge 到 develop 的;对于 A 先于 B merge 到 develop, 而 A 由于进度问题需要比 B 晚发布的情况,gitflow 确实没有说明这种情况该怎么处理,小项目可以 cherrypick,项目大了的话都 cherrypick 的话容易出岔子;所以我们没有用 gitflow,对于开发周期大于一个标准发布周期的在独立的分支上开发和测试,对于小周期的可以直接在 develop 上,测试过了到 master,最后用 master 发布,没有用 release 分支
jerryzhou343
2020-12-17 20:00:40 +08:00
@simonlu9 每个分支都有自己的角色(责任)和生命周期; dev 分支作为 feature 的汇聚分支,合并其他 feature 就是其责任,所以 dev 不存在污染一说; feature 有 bug,在对应 feature 修改,然后再合并到 dev ;如果有 bug 直接在 dev 修,那才是污染 dev 分支了,让 dev 承担了开发的职责;
jerryzhou343
2020-12-17 20:07:49 +08:00
@simonlu9 接上条回复。每个分支的职责其实需要根据你们的开发流程来定的;如果你们走的瀑布模式的流程;在 dev 分支修复 bug 是没问题的;如果你们走的敏捷迭代模式,最好不好在 dev 上修 bug ;因为在 sprint 中,某个 feature 可能赶不上时间点;所以建议的是不要在 dev 上修 bug ;不然 cherry-pick 有时候也挺麻烦的; feature 分支提交记录多用 rebase,这样可以让提交记录清晰,并且不会太多;