`
eimhee
  • 浏览: 2151002 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

主干开发

阅读更多

Google 采用"主干开发"(trunk-based development)。代码一般提交到主干的头部。这样保证了所有用户看到的都是同一份代码的最新版本。

"主干开发"避免了合并分支时的麻烦。谷歌一般不采用分支开发,分支只用来发布。大多数时候,发布分支是主干某个时点的快照。以后的除错和功能增强,都是提交到主干,必要时 cherry-pick 到发布分支。与主干长期并行的开发分支,在谷歌极少见。

由于不采用"分支开发",谷歌引入新功能,一般在代码中使用开关控制。这避免了另起一个分支,也使得通过配置切换功能变得容易,一旦新功能发生故障,很容易切换回旧功能。等到新功能稳定,再彻底删除旧代码。谷歌有类似A/B测试的路由算法,评估代码的表现,由于存在配置开关,这种测试很容易实现。

分享到:
评论

相关推荐

    游戏发布方式(主干-分支 主干-主干)

    在游戏开发中,常见的发布模式有两种:主干开发-主干发布和主干开发-分支发布。这两种模式各有优劣,适用于不同类型的项目和团队需求。 首先,我们来看主干开发-分支发布的模式。在这种模式下,所有功能开发都在...

    backboneStart:使用主干开发前端的入门包 + 需要使用 bower 依赖安装程序

    使用主干开发前端的入门包 +需要使用bower依赖安装程序 MACOSX 要求: 1.- 安装 Homebrew,如果你没有安装 Homebrew,请打开终端并输入:(不考虑“>”)。 > ruby -e "$(curl -fsSL ...

    git项目管理 git flow

    分支开发模式是对主干开发模式的改进,它分为两种:主干开发,分支发布;分支开发,主干发布。主干开发,分支发布时,开发人员将写好的代码提交到主干,然后从主干上拉出一个新分支,在这个新的分支进行集成测试,并...

    车载软件架构 - 持续集成持续交付 软件交付敏捷开发

    不同的分支策略(如主干开发、Git-Flow、GitHub Flow等)可以适应不同的开发需求,同时结合触发策略(提交触发、定时触发、合并触发)和审查策略(自动化测试+人工审查),确保代码质量。 3. **持续交付**(CD)则...

    传智播客SCM手把手开发文档

    5. **配置管理策略**:讨论不同类型的项目如何选择合适的SCM策略,如主干开发、分支开发、特性分支等,以及如何根据项目规模和团队结构来制定合适的策略。 6. **SCM工具实战**:通过实际操作,让学习者掌握常见SCM...

    构建健壮的开发环境[DDJ好文]

    常见的分支策略包括主干开发(Trunk-based Development)、特性分支(Feature Branching)和Git Flow等。 **3. 定期清理和维护** 定期清理不再使用的分支、标签和其他资源对于保持源码库的整洁至关重要。此外,定期...

    backbone-patterns:常用的主干模式旨在让其他主干开发人员的生活更轻松

    主干模式 Backbone.js 中常用的模式。 旨在简化样板代码,您必须使用 Backbone 编写和解决常见问题。 SyncingParamsModel SyncingParamsModel实现了(痛苦的)通用模式,在求和之前,模型参数应该被过滤到一个较小...

    持续交付构建系统Screwdriver.zip

    从宏观看,这些关键设计是:使部署管道容易优化主干开发使回滚容易轻松部署管道:部署持续测试、集成和部署的代码到生产环境的管道时,大大降低错误的风险,并缩短了获得开发人员反馈的时间。通常,许多团队面临的...

    DevOps-版本控制进阶

    然而,在我们的调研中,当我们与一些曾经在实践CI过程中感到痛苦的人交谈时,没有引入主干开发的团队对此有更深刻的感受。 DevOps现状调查报告-2016 还发现,基于主干开发和持续集成是达成持续交付的关键因素,同时...

    awesome-trunk-based-dev:精选的基于主干的开发资源列表

    与主干开发相关的所有内容的精选列表。 什么是基于主干的开发? 摘自简短摘要描述如下: 源代码控制分支模型,其中开发人员在称为“ trunk” *的单个分支中进行代码协作,通过采用有据可查的技术来抵抗创建其他...

    微服务落地能力提升方案.docx

    采用精简且稳定的分支策略,如单主干开发,能促进这一过程的顺利进行。单主干策略避免了过多的长期分支,推荐使用特性开关来控制发布时机,允许短生命周期的特性分支,以适应敏捷开发的需求。 其次,单主干分支策略...

    svn版本控制与分支

    分支是指从主干(trunk)分离出来的副本,它可以独立于主干开发,用于解决冲突问题。通过创建分支,可以让开发团队成员在不影响主干的情况下进行开发和测试。 在svn 中,分支是通过 TortoiseSvn 工具创建的。首先,...

    svn分主干合并,让你分主干合并立马搞定

    在团队开发中,经常需要进行分支与主干的合并操作,以整合各个开发分支的更新到主干,确保所有改动都能被正确地集成。本文将详细解释如何执行 SVN 分支合并,特别是如何将开发分支合并到主干分支。 首先,创建主干...

    Subversion分支与合并

    - **维护分支**:用于修复已发布版本的错误,不影响主干开发。 - **长期分支**:如`release`分支,用于稳定版本的维护,直到下一个主要版本发布。 ### 6. 版本控制的最佳实践 - **频繁合并**:避免长时间不合并,...

    超大型移动App CICD实践.pdf

    3. 适配发布节奏的分支策略(主干开发):主干开发模式有助于减少分支合并的成本和复杂度,同时也加快了开发的节奏。 4. 建立端到端的线上化流程:通过自动化工具和平台,从代码提交到生产发布实现完全的线上化。 ...

    SVN.rar_svn

    分支允许开发者在不影响主干开发的情况下进行试验性开发,而标签则用于标记特定版本,通常是发布前的稳定版本。 在实际开发中,开发人员通常会使用图形化客户端如TortoiseSVN,它提供了友好的界面,使得SVN命令操作...

    SVN分支合并到主干 冲突处理

    主干(Trunk)通常代表项目的主要开发线,它是项目代码的主线,持续接收主要的开发和更新。而“分支”(Branch)则是在特定时间从主干上创建的副本,用于进行实验性开发、功能添加或修复bug,避免对主干造成影响。当...

    利用软件工程原则提升项目可管理性.pptx

    - **分支管理策略**:包括主干开发、feature分支、release分支等,以支持高效的团队协作。 通过以上章节的详细介绍,可以看出,软件工程的原则在项目的各个阶段都发挥着重要作用。从初始的需求分析到最终的开发与...

    Clearcase reference document -1

    4. **分支(Branching)**:分支是指从现有版本中创建一个新的独立版本线,用于实现新功能或修复缺陷而不干扰主干开发过程。 5. **合并(Merging)**:合并是从分支版本回到主干版本的过程,通常涉及解决冲突和集成新...

    Visual-SourceSafe-2005-Software-Configuration-Management-in-Practice

    3. **分支策略**:合理规划分支结构,如使用主干开发日常功能,使用特性分支进行实验性开发。 4. **定期审查**:实施代码审查流程,以确保代码质量,并及时发现潜在的问题。 5. **自动化测试**:结合自动化测试框架...

Global site tag (gtag.js) - Google Analytics