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

如何在Git中将7个已推送提交合并为一个?多次尝试未成功

如何将多个提交合并为一个并更新Pull Request

我懂你想把Pull Request里的7个提交合并成一个的需求,之前试了各种压缩提交的方法都没成功的话,来试试这个步骤清晰的方案:

先看你的提交列表:
提交列表截图

接下来按以下步骤操作:

  • 先把本地分支和上游仓库同步(假设上游仓库名为upstream,主分支是main,请根据你的实际情况替换名称):
    git fetch upstream
    git checkout 你的分支名称
    git rebase upstream/main

  • 执行交互式变基,合并最近的7个提交:
    git rebase -i HEAD~7
    这时候会弹出文本编辑器,你需要保留第一个提交的pick,把剩下6个提交的pick全部改成squash(如果不想保留其他提交的描述信息,也可以改成fixup),修改完成后保存退出。

  • 随后编辑器会再次打开,让你编辑合并后的最终提交信息,写完后保存即可。

  • 因为你已经把分支推送到远程仓库了,需要强制推送更新远程分支:
    git push origin 你的分支名称 --force

    重要提醒:强制推送一定要确认这个分支只有你在使用,不然会覆盖其他人的修改!

  • 最后回到你的Pull Request页面刷新一下,就能看到PR里只剩一个提交了。

如果变基过程中遇到冲突,先手动解决冲突,然后执行git add 冲突文件,再运行git rebase --continue继续变基;要是中途想放弃变基,直接用git rebase --abort就能回到之前的状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:26:47