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

如何将Feature分支合并到Main分支顶端并避免提交重复?

解决Git分支线性合并需求(避免提交重复)

你的场景是:Main分支从ee68ee之后有一串提交,最终到f0faf9e;Feature分支基于ee68ee做了e994bd3提交,想要把这个Feature提交移到Main分支的最顶端,形成完全线性的提交历史。

之前用rebase出现提交重复,大概率是操作时选错了变基目标,或者后续合并步骤有误。按下面的步骤操作就能实现需求:

  • 切换到你的Feature分支:

    git checkout feature-branch
    

    (把feature-branch换成你实际的Feature分支名称)

  • 基于Main分支的最新提交做变基:

    git rebase main
    

    这个命令会把Feature分支上的提交(也就是e994bd3)重新"移植"到Main分支的最新提交f0faf9e之后。如果过程中出现冲突,解决冲突后执行git add .,再用git rebase --continue完成变基即可。

  • 切换回Main分支:

    git checkout main
    
  • 执行快进合并:

    git merge feature-branch
    

    因为变基后Feature分支的提交已经在Main分支的提交链之后,Git会直接把Main的HEAD指针移到e994bd3,形成你想要的线性历史:

    → ee68ee → ff512e → ed038c → fc08ef4 → a62847 → f0faf9e → e994bd3(HEAD)
    

注意事项

如果你的Feature分支已经推送到远程仓库,变基会改写分支的历史记录,此时推送需要使用:

git push --force-with-lease

这个命令比--force更安全,会检查远程分支是否有你没同步的变更,避免覆盖他人的提交。如果是多人协作的Feature分支,执行变基前最好和团队成员沟通确认。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 08:30:05