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

如何仅合并本人推送到GitHub的4个Git提交?

仅合并自己的4个提交的方法

出现这个问题是因为git rebase -i HEAD~4是取当前HEAD往前数4个提交对象,而非你自己的4个提交——如果这段时间有他人提交被合并进来,列表里自然会混进别人的记录。要精准合并自己的4个提交,按以下步骤操作:

  1. 定位自己的4个提交哈希
    先过滤出自己的提交,执行命令:

    git log --oneline --author="你的用户名/邮箱"
    

    从输出里找到你要合并的4个提交,记下最早的那个提交的哈希值(比如abc123)。

  2. 启动交互式变基
    基于最早提交的父节点启动变基,这样会包含从该父节点到当前HEAD的所有提交:

    git rebase -i abc123^
    
  3. 调整提交处理规则
    在打开的编辑器中,对提交列表做如下修改:

    • 保留你第一个提交(abc123)前的pick
    • 将你另外3个提交前的pick改成squash(保留提交信息)或fixup(丢弃提交信息,仅保留内容)
    • 他人的提交全部保持pick不动,不要修改

    示例修改后的列表:

    pick xxxx 他人提交A
    pick abc123 我的提交1
    pick yyyy 他人提交B
    squash def456 我的提交2
    squash ghi789 我的提交3
    pick zzzz 他人提交C
    squash jkl012 我的提交4
    
  4. 完成合并与推送
    保存并退出编辑器后,Git会提示你编辑合并后的提交消息,确认后完成合并。
    由于已经推送到远程仓库,需要强制推送更新:

    git push --force-with-lease
    

    (--force-with-lease比--force更安全,能避免意外覆盖他人的新提交)

注意:如果操作的是公共协作分支,强制推送前请和团队成员沟通,确保没人基于你的旧提交开展工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 16:36:59