当前位置: 首页 > article >正文

Git主干分支master开发优缺点

优缺点

主干开发:是指开发人员直接向主干(习惯上主干分支通常为:main或master)提交/推送代码。通常开发团队的成员1天至少一次地将代码提交到主干分支,在到达发布条件时,从主干拉出发布分支通常为(release),用于发布,若发现缺陷,直接在主干上修复,并根据需要cherry pick到对应版本的发布分支,

优点缺点
分支模型简单高效,开发人员易于掌握不容易出现错误操作,基础架构要求高:合入到主干的代码若质量不过关将直接阻塞整个团队的开发工作,因此需要高效的持续集成平台进行把关;
避免了分支合并,冲突解决的困扰,自动化测试要求高:需有完备单元测试代码,确保在代码合入主干前能在获得快速和可靠的质量反馈,
随时拥有可发布的版本,有利于持续集成和持续交付最好有代码评审:若代码质量要求高,需要配套代码评审(CR)机制,在代码提交到主干时,触发CR,通过Peer Review后才能正式合入,
最好有特性开关:主干开发频发合入主干的情况下,特性拆分的很小,可能是半成品特性,需要配套开关(Feature Toggle),只有当特性整体开发完才通过灰度发布等手段逐步打开

场景

现代Git实践更倾向于使用main作为默认分支名称以避免某些文化上的敏感性问题)开发适合以下几种场景:

‌小型项目‌:对于规模较小、开发周期短、团队成员少的项目,使用主干分支开发可以简化流程,提高开发效率。

‌快速迭代‌:在需要快速迭代和频繁发布的情况下,主干分支开发能够减少分支管理带来的开销,使得新功能能够更快地集成到产品中。

‌持续集成/持续部署(CI/CD)‌:主干分支开发非常适合与CI/CD流程结合使用。通过自动化测试和部署,可以确保主干上的代码始终是可用的,从而加速开发到部署的整个过程。

‌功能分支较少‌:如果项目中大部分工作都是直接在主干上进行,且功能分支较少,那么使用主干分支开发是合理的。这种情况下,团队成员可以更容易地保持对项目的整体了解,减少合并冲突的可能性。

‌高度协同的团队‌:对于高度协同、沟通顺畅的团队来说,主干分支开发可以促进团队成员之间的紧密合作。通过频繁的代码审查和交流,可以及时发现和解决问题,确保项目的顺利进行。

然而,需要注意的是,主干分支开发也要求团队成员具备较高的责任感和自律性,以确保代码的质量和稳定性。同时,对于大型项目或需要长期维护的项目来说,可能需要更复杂的分支管理策略来应对不同的开发需求和版本控制问题。因此,在选择是否使用主干分支开发时,需要根据项目的实际情况和团队的特点进行权衡。


http://www.kler.cn/a/398051.html

相关文章:

  • WebSocket简易聊天室实现(有详细解释)
  • 推荐一个基于协程的C++(lua)游戏服务器
  • c# Encoding.GetEncoding
  • Spring:bean的配置
  • Vuex vs Pinia:新一代Vue状态管理方案对比
  • 单元测试、集成测试、系统测试、验收测试、压力测试、性能测试、安全性测试、兼容性测试、回归测试(超详细的分类介绍及教学)
  • 从入门到精通:一文掌握 Dockerfile 的用法!(多阶段构建与缓存优化)
  • 基于STM32的智能停车管理系统设计
  • 基于Java的医院病历管理系统
  • 人工智能引发直播革命:AI 技术塑造无人直播全新体验
  • 【python】用 Scrapy 实现高效爬虫项目
  • Ubuntu24安装配置NDK
  • 《Redis内存淘汰策略及分布式锁应用详解》
  • Springboot校园失物招领平台
  • 重修设计模式-行为型-命令模式
  • 【深度学习】模型参数冻结:原理、应用与实践
  • SpringBoot(二十五)SpringBoot集成JRebel实现热更新
  • Scratch 014生日贺卡(上)
  • 使用ACF插件向WooCommerce商城产品添加自定义字段
  • Net C# Nullable<T> Nullable、null、?
  • MPTCP协议
  • java基础知识全集(一篇看到爽)(持续更新中)
  • shell编程--永久环境变量和字符串显位
  • 【C#设计模式(7)——桥接模式(Bridge Pattern)】
  • wireshark演进之路——从GTK到Qt
  • 分布式,微服务,SpringCloudAlibaba,nacos,gateway,openFeign