如何把 hotfix 分支合并到正在开发的功能分支

hotfix 合入功能分支:git checkout 功能分支 && git merge hotfix 分支名(或 rebase)。功能分支拿到修复后继续开发,最终合并回 main 时 hotfix 已是共同祖先,不再冲突。

最佳实践
Git 分支协作与合并示意

在功能分支上执行 git merge hotfix分支 即可。场景很常见:线上 bug 修了 hotfix 合进 main,而你正在开发的功能分支也依赖这块代码——把 hotfix 合过来,功能分支立刻获得修复。

操作流程

git fetch origin
git checkout feature-x
git merge origin/hotfix-login-fix     # 或本地 hotfix 分支
# 有冲突解决后提交
git push

之后 feature-x 合回 main 时,hotfix 部分已是共同历史,不会再起冲突。

merge 还是 rebase

  • git merge hotfix-x:保留合并痕迹,功能分支历史多一个合并点——多人协作的功能分支用这个;
  • git rebase hotfix-x:把你的提交重放到 hotfix 之后,历史线性——个人分支可选,已推送则需强推。

另一种思路:cherry-pick

只想要 hotfix 的那个提交而不想引入合并关系:

git cherry-pick <hotfix提交哈希>

注意 hotfix 之后合入 main 时,你功能分支里的这个 cherry-pick 副本可能与它"重复相遇"——内容相同通常自动解决,但可能报空提交提示。

常见问题(FAQ)

Q:功能分支多久同步一次 hotfix/main 合适?

hotfix 与你改动区域相关就立刻合;否则定期(比如每天开工)从 main 同步一次,避免攒出巨型冲突。

Q:合并后测试挂了怎么办?

hotfix 与你的功能可能有语义冲突(代码不冲突但逻辑冲突)。这也是要及时合并的原因——越早发现越好修。

Q:hotfix 还没合进 main,能先合进功能分支吗?

能,操作相同。但注意如果 hotfix 后来被改写(rebase/amend),你的功能分支会带着旧版提交,合并时可能出现重复。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台