You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于master分支变基时,分支存在master历史中的相同提交如何处理?

问题解答

变基时的行为

当你执行git rebase master将特性分支变基到当前master时:

  • Git会自动跳过那个重复的fix提交。Git通过patch-id(提交内容的哈希值)识别重复修改,由于你之前已通过cherry-pick把该提交的内容合并到master,两者的patch-id完全一致,Git会判定这个提交的修改已存在于目标分支中,因此不会将其重新应用到特性分支的历史里。
  • 通常不会出现冲突,除非master在合并热修复后,又有其他提交修改了与该fix提交相同的代码区域。但单纯的重复提交内容不会引发冲突。

建议操作

  1. 直接执行变基:
    切换到特性分支后执行:

    git checkout feat/my-feature
    git rebase master
    

    变基完成后,特性分支的历史会自动剔除重复的fix提交,最终结构如下:

    *---*---*---*---*---* (master)
                         \
                          *---* feat/my-feature
    
  2. 先备份分支(可选):
    如果你担心变基过程中出现意外,可以先创建特性分支的备份:

    git checkout feat/my-feature
    git branch feat/my-feature-backup
    

    变基完成并确认无误后,可删除备份分支:

    git branch -D feat/my-feature-backup
    

内容的提问来源于stack exchange,提问作者glades

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 00:37:33