主干开发
探索主干开发模型、短生命周期分支和功能开关,了解它们如何成为 Gitflow 的轻量替代方案。
主干开发 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。
什么是基于主干的开发?
基于主干的开发是一种分支策略,所有开发人员都非常频繁地将小型更改集成到一个共享分支(主干,通常是 main)中。
它倾向于进行许多次小型合并,而不是维护长期存在的分支。
为什么避免长期存在的分支?
存在数周的分支会与 main 相差很远,导致痛苦的合并过程。
- 分支存在的时间越长,冲突越多
- 集成风险会一直隐藏到最后
- 代码审查队列会变得非常庞大
短期分支
在基于主干的开发中,分支只存在几个小时到一两天,然后就会合并回主干。创建分支,进行专注的工作,然后快速合并。
git checkout -b add-login
# small focused change
git commit -m 'Add login button'
git push origin add-login直接提交到主干
小型且风险较低的团队有时会在快速 CI 检查门禁后直接提交到 main。每次提交都必须让主干保持可发布状态。
git checkout main
git pull --rebase
git commit -m 'Fix typo in footer'
git push功能开关
未完成的功能仍然会合并到主干,但在准备就绪前会隐藏在功能开关之后。这样可以将部署与发布解耦。
if (featureFlags.newCheckout) {
renderNewCheckout();
} else {
renderOldCheckout();
}持续集成是必需的
由于所有人都在持续合并到主干,因此每次推送都运行自动化测试对于保持 main 绿色且可部署至关重要。
基于主干与 Gitflow
Gitflow 使用许多长期存在的分支(develop、release、feature)。基于主干的开发使用一个主分支和极短期的小型分支。
- 基于主干的开发适合持续交付
- Gitflow 适合按计划进行的版本化发布
作为例外的发布分支
基于主干的团队可能只为稳定某个版本而创建一个短期发布分支,并将修复挑选回该分支。
git checkout -b release/1.4 main保持分支同步
合并前,将短期分支变基到最新的主干之上,以尽量减少冲突。
git fetch origin
git rebase origin/main快速合并回主干
CI 通过后,合并短期分支并将其删除。随后使用新的分支重新开始这一循环。
git checkout main
git merge --no-ff add-login
git branch -d add-login何时选择基于主干的开发
如果您经常交付、拥有强大的 CI,并且希望避免合并地狱,请选择基于主干的开发。它与持续部署天然契合。
快速检查
测试您对基于主干的开发的理解。
回顾
您已经了解基于主干的开发模式:
- 一个共享主干,以及许多极短期的小型分支
- 功能开关隐藏未完成的工作
- 强大的 CI 让主干始终保持可发布状态
- 它与 Gitflow 的长期分支模式形成对比
常见问题解答
「主干开发」课时是免费的吗?
是的 — 「主干开发」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。
「主干开发」这节课中我会学到什么?
探索主干开发模型、短生命周期分支和功能开关,了解它们如何成为 Gitflow 的轻量替代方案。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 DevOps Bootcamp 需要有经验吗?
无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「主干开发」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 DevOps Bootcamp 课中编写并运行代码吗?
能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。