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

如何在Git中从3个提交里变基指定的2个提交?

可以对指定提交执行Git Rebase操作,完全满足你的需求

首先明确你的提交历史(Git日志默认倒序,实际时间线从早到晚):

5cb49b8c changes 1 → 6e04807a changes 2 → 9a0fcfab changes 3

按照你的需求操作步骤如下:

  1. 启动交互式Rebase,选中最近3个提交:
    git rebase -i HEAD~3

  2. 编辑器会打开并显示按时间排序的提交列表(默认内容):

pick 5cb49b8c changes 1
pick 6e04807a changes 2
pick 9a0fcfab changes 3
  1. 根据你的需求修改命令:
  • 如果你想保留6e04807a作为独立提交,同时把9a0fcfab的内容合并到5cb49b8c中,修改为:
pick 5cb49b8c changes 1
pick 6e04807a changes 2
fixup 9a0fcfab changes 3

这里fixup会把9a0fcfab的代码变更合并到前一个pick的提交(5cb49b8c)里,同时丢弃9a0fcfab的提交信息。

  • 如果你确实想跳过(删除)6e04807a,则修改为:
pick 5cb49b8c changes 1
fixup 9a0fcfab changes 3

或者直接删除6e04807a那一行,效果相同。

  1. 保存并关闭编辑器,Git会自动完成Rebase操作。

注意事项

  • 如果这些提交已经推送到远程仓库,Rebase后需要强制推送:git push -f,但这会修改远程提交历史,和他人协作时务必提前沟通。
  • 若想保留9a0fcfab的提交信息,可将fixup替换为squash,Git会让你编辑合并后的最终提交信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 19:43:39