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

如何在IntelliJ/Git中合并提交,彻底移除大文件以推送到GitHub?

解决方法:修改提交历史移除大文件痕迹

如果这两个提交是当前分支的最后两次提交,用以下快捷方法就能搞定:

方法一:交互式变基合并提交

  1. 执行命令启动交互式变基,针对最近2个提交:
    git rebase -i HEAD~2
    
  2. 在弹出的编辑器里,把删除文件那次提交的开头改成squash或fixup:
    • 选squash:会保留两次提交的注释,最后可以合并成一条
    • 选fixup:直接丢弃删除文件那次的注释,只保留第一次的
  3. 保存关闭编辑器,Git会自动合并这两个提交。
  4. 强制推送到远程仓库(因为改了历史,必须强制推):
    git push -f
    

方法二:重置后重新提交

嫌变基麻烦的话,直接重置后重新提交更简单:

  1. 回退到添加大文件之前的状态,同时保留当前工作区的修改(也就是已经删完大文件的状态):
    git reset HEAD~2 --soft
    
  2. 重新提交所有变更:
    git add .
    git commit -m "你的提交说明"
    
  3. 强制推送到远程:
    git push -f
    

注意点

  • 强制推送会覆盖远程分支的历史,如果有同事在这个分支协作,一定要提前说一声,别搞丢别人的改动。
  • 要是你之前已经把包含大文件的提交推过远程,那得用git filter-repo彻底清历史,但你现在还没推成功,上面的方法足够用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 15:17:12