07 | 工作流设计:如何设计合理的多人开发模式?
该思维导图由 AI 生成,仅供参考
集中式工作流
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了Git工作流设计,包括集中式工作流、功能分支工作流、Git Flow工作流和Forking工作流。集中式工作流适合小团队和小项目,但容易导致代码管理混乱;功能分支工作流通过PR流程提高代码质量;Git Flow适合大型项目或迭代速度快的项目;Forking工作流适用于开源项目和开发者不固定的场景。选择合适的开发模式有助于提高团队协作效率和代码质量。文章还提供了针对Git Flow工作流的课后练习,帮助读者深入理解工作流的操作步骤。
《Go 语言项目开发实战》,新⼈⾸单¥68
全部留言(49)
- 最新
- 精选
- Geek_c3e438哈哈哈哈,上文刚说了commit规范,这篇就随意了,当然知道仅做演示,开个玩笑~
作者回复: 是的,这里主要是演示工作流个演示。这里没有按commit message规范写的原因如下: 1. 根据我的研发经验,很多时候,规范对大多数开发者是用来看的,所以如果制定了commit message规范,需要有相应的工具,来强约束大家遵守这个规范,因为是演示所以没搞这么复杂。 2. IAM项目的commit 都是符合规范的,里面有工具强约束,可以看下。 老哥看的很细,是个优化点,今后避免。
2021-06-08228 - 💎A用source tree 一键git flow.
作者回复: 牛批!
2021-06-08210 - 我来也看的比较过瘾。 这些git命令,我一般都用zsh里面git插件的缩写来完成。说白了就是一批alias命令。 比如gcb切分支,gsta保存修改到堆栈,gstp恢复堆栈中的修改,gpsup新建远端分支。grb变基,grh 软重置,grhh硬重置等等。
作者回复: 优秀!
2021-07-057 - byemoto如何保证develop和master分支不会产生冲突呢?
作者回复: 他俩不会冲突的吧,有冲突在merge到develop的时候就解决了
2021-06-307 - forever_ele说一下我这边的Git工作流经验:我们会预设三个常驻分支,分别是 Prod-生产分支、Pre-Prod-预发布分支、Dev-开发分支,master保留分支未使用。当有新功能需要开发时,首先是从prod分支进行拉取个人开发分支,因为此时dev可能会有其他同学开发的其他需求代码,但实际发布时间未知,为了避免新功能发布时包含其他需求代码所以要从prod分支新建个人开发分支,保证分支是“干净的”。个人本地开发测试后 合并dev分支进行线上测试,没有问题再将分支合并至pre交付客户或非技术部门进行uat测试。最后将个人开发分支合并prod进行发布。
作者回复: 流程很清晰呀
2021-08-065 - Alery请问Forking 工作流中git rebase upstream/master 这一步是做什么?
作者回复: 合并master分支的代码,跟git merge相比,可以避免很多自动生成的merge记录
2021-06-0935 - types看了git flow, tag都是在master上标记的,看起来只支持单个发行版本。 如果我需要维护多个发行版本,多个发行版本有共性需求,也有各自的定制化需求,请问这个时候应该以 什么样的流程进行开发?
作者回复: tag是不区分branch的。 比如你在develop分支打了v1.0.0 tag,切换到v1.0.0 tag时,git会自动切换到develop分支的v1.0.0 tag。 如果要维护多个发行版,可以分多个repo,但不好管理。建议这么来: 基础版本分支: master 发行版A: masterA/feature/xxx masterA/develop 发行版B: masterB/feature/xxx masterB/develop
2021-07-3023 - 崔子昂很多公司会用Jira这种issue管理系统,而branch name用issue code的话,会有一些联动性的功能,比较纠结如果用功能名的话,就失去这个方便的地方了。
作者回复: 可以根据需要自己指定branch名规范,如果有这种联动性需求,其实也可以适配
2021-06-283 - theseusv催更催更~
作者回复: 我们加油
2021-06-083 - Juniper看完这篇文章,受益匪浅。不过有个疑问,如果采用git flow模式,提测的时候提release分支测试的,如果我有一个release1.0.0的分支在测试中,这个时候又有新的开发任务了,从develop分支切出来,此时的develop分支代码只经过开发测试,还非常不稳定,对于新的feature分支影响还是比较大的,怎么解决。严格安照串行的方式是没有问题的,release1.0.0验证完成,master develop merge完成发布,然后在开始进入下个功能的开发。但是现实场景很容易出现,上一个版本还是测试阶段,就有别的开发任务了
作者回复: 好问题。 等release1.0.0分支的修复合并到develop分支后,后来新建的分支再rebase下develop分支就可以了。
2021-09-242