5分钟熟悉大项目的代码管理机制

【写在最前】

我们之前已经熟悉了git工具(详情请查看:5分钟熟悉git工具)
如果是项目是初创期,研发团队成员只有几个人,那么git用不好,对项目影响也不会太大。
如果项目已经初具规模,研发团队在数十人以上,那么项目代码管理,就是一门非常具有艺术性的工作,处理不好将会带来灾难性的后果。

今天我们通过一些工作需求场景及其对应的解决方案,来快速熟悉掌握在大项目大团队中如何通过git进行有效的代码管理。相信聪明的你,看完一定会有收获!

分钟熟悉大项目的代码管理机制"

【正文开始】

初创团队的工作流程,一般是:
1)业务功能A开发完了,提交测试部门进行测试
2)测试部门测试完了,提交到运维部门进行生产环境部署

看上去工作非常顺利,但项目初具规模后,以下新问题会陆续产生:
1)测试部门尚未完成功能A测试,产品就下发了功能B的研发任务;
2)研发人员继续在master分支上研发功能B,测试部突然告知功能A有缺陷需要整改;
3)有些时候,测试部工作出现问题,导致错误没有被发现,而被提交到了生产环境
…..

可能已经有小伙伴感觉需要开分支进行管理了,但开第2个分支就能解决上面的新问题吗?答案显然是否定的。

作者借助自己多年的项目管理经验,在这里介绍一下分支的设计艺术,有问题或建议的小伙伴,可以在评论区留言互动。

对于一个足够复杂的项目,我们最少需要 5个分支进行管理,各分支名称及其适用场景(要解决的问题)说明如下:

1)master 分支
这是主分支,新功能需求的开发工作都需要在此分支上进行;
2)test 分支
这是测试部门使用的分支,当master分支上某个阶段性的开发工作结束,合并到test分支进行提测。
3)release分支
这是生产环境使用的分支,当测试部门测试通过后,需要将test合并到release。
4)master_bug 分支
当release 发布以后,需要立即检出 master_bug 分支
如果生产环境需要紧急消缺,则直接让研发人员从 master_bug上进行修改
5)test_bug 分支
当release 发布以后,需要立即检出 test_bug 分支
master_bug修改完毕后合并到 test_bug,最终由test_bug合并到release完成生产环境的缺陷修复

两个问题答疑:
1、问: 为什么不从master_bug 合并到 test呢?
答:因为当项目足够复杂时,test_bug(release) 跟 test 功能代码已经差的很多了,强行合并对relase会影响较大,风险较高。

2、问:为什么用这么多分支管理?用tag标签管理不行么?

答:真实的项目生产环境部署流程,一般都要经历研发部,测试部,运维部等多人协作,跨部门协作的效率过来人都懂,经历一番寒彻骨之后,得出的结论就是要想效率高,人参与的越少越好。现在业界基本都是在使用自动化运维工具(比如jenkins)进行相关工作,而对于这些工具,严格的branch分支名称,相对于随意性较强的tag标签,更容易配置。

【全文完】
——————————–
十年技术沉淀,只做原创文章;
及时关注作者,成就大牛之路!
如果您对文章内容有不同意见或独到见解,欢迎大家在评论区留言讨论,作者也会第一时间进行互动回复。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年10月3日 上午8:03
下一篇 2022年10月3日 上午8:05

相关推荐

  • 企业管理流程化(企业管理流程包括哪些)

    关注【本头条号】更多关于制度、流程、体系、岗位、模板、方案、工具、案例、故事、图书、文案、报告、技能、职场等内容,弗布克15年积累免费与您分享! 1.企业流程诊断设计 流程诊断是指…

    科研百科 2022年12月15日
    239
  • 泽普原创 – 关于合同流程管理的几点思考和建议

    本文结合近期代理的一起两企业之间因买卖合同纠纷引起的争议仲裁案,总结几点对于企业合同流程管理的思考和建议,以供相关企业参考。 一、将项目资料及时交专人管理归档 本案中,双方当事人之…

    科研百科 2022年11月25日
    264
  • 科研项目信息化管理工作总结(科研项目信息化管理)

    科研项目信息化管理 随着科技的不断进步,信息化管理已经成为项目管理中不可或缺的一部分。科研项目信息化管理可以帮助项目管理人员更好地掌握项目进度、成本、质量等信息,提高项目管理的效率…

    科研百科 2024年8月9日
    67
  • 只做科研项目的研究生实验室

    我们的实验室是一个专注于科研项目的研究生实验室。我们的实验室致力于研究和开发最新的科技和科学成果,以推动人类社会的进步和发展。 我们的实验室拥有一支高水平的研究生团队,他们都拥有丰…

    科研百科 2024年4月8日
    67
  • 计算机科研项目成果汇报

    计算机科研项目成果汇报 本文介绍了我们团队在计算机科研项目中的成果。我们的项目旨在开发一种新的计算机视觉算法,能够更好地识别和分类图像中的对象。 我们的算法采用了深度学习技术,通过…

    科研百科 2025年5月31日
    3
  • 科研项目产业化说明

    科研项目产业化说明 随着科技的不断发展,科研项目的产业化已经成为一个越来越重要的话题。科研项目的产业化不仅可以为科学家和研究人员带来直接的经济收益,还可以促进科学技术的转化和应用,…

    科研百科 2025年5月7日
    3
  • 低代码构建商城小程序

    低代码构建商城小程序是一种快速开发商城应用的方法,它通过简化开发流程和减少编码工作量,使开发者能够更快地创建功能丰富的商城小程序。在过去,开发商城应用需要繁琐的编码和复杂的技术知识…

    科研百科 2024年3月3日
    87
  • “党建+”引领教育优质发展(党建引领教育高质量发展)

    “在冀鲁边区军民的信念里,‘家’与‘国’早已密不可分,军民们怀着对党的绝对忠诚,对祖国的无限热爱,抗日救国保家强!”5月10日,一场别开生面的“一校一队·薪火相传”党史教育进校园宣…

    科研百科 2024年7月3日
    49
  • 物流管理系统项目介绍

    物流管理系统项目介绍 随着现代商业竞争的不断加剧,物流管理的重要性也越来越凸显。物流管理系统是物流管理中的重要组成部分,它能够提高物流效率和质量,降低物流成本,为企业带来更大的经济…

    科研百科 2025年1月8日
    0
  • 进度计划用哪个软件

    进度计划用哪个软件 进度计划是项目管理中非常重要的一部分。通过进度计划,项目管理人员可以了解项目的进度,协调团队成员的工作,确保项目按时完成。现在,有许多软件可以用于创建和跟踪进度…

    科研百科 2024年5月31日
    88