Skip to Content
数字花园开发工具Git合并、变基与优选

合并、变基与优选

合并(merge)、变基(rebase)与优选(cherry-pick)是 Git 中整合代码变更的核心工具。

它们的目的都是将一个地方的变更应用到另一个地方,但它们的实现方式和对历史记录的影响却截然不同。


合并 merge

合并是将两个分支的终点连接在一起,并且创建一个新的“合并提交”。

合并能够保留完整分支的开发历史,对于团队协作来说是安全和可追溯的。

但是大量的合并会使提交历史变得复杂、难以阅读。


变基 rebase

变基是重写提交历史,将你的分支提交“移动”到另一个分支的末端。

变基追求的是一个线性、干净的提交历史记录,不保留分支开发的历史记录。


优选 cherry-pick

优选能精准地获取其他分支中的某些提交,而不是整个分支。


图示操作变化

初始分支状态

将 feature 合并到 main,保留完整分支的开发历史 O、P、Q,创建新提交 G 用于连接。


操作对比


操作历史图谱核心思想历史是否被重写
合并 merge分叉与交汇保留真实、并行的开发历史。否(只新增提交)
变基 rebase干净的直线确保历史清晰可读是(创建新提交替代旧的)
优选 cherry-pick复制粘贴按需取用,只拿我需要的变更是(在目标分支创建新提交)
最后更新于