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

Git推送含大文件后分支超前,如何移除大文件恢复分支同步

问题:移除最新提交中的大文件并同步分支

我希望git status显示“Your branch is up to date with 'origin/all_work'”,但当前无法实现该状态,导致无法创建新提交并推送内容。

奇怪的是,执行git diff --staged或git diff --cached时看不到相关变更,仅执行git diff origin/main..HEAD时,才会显示如下输出:

diff --git a/100000000values.zip b/100000000values.zip
new file mode 100644
index 0000000..f910aaf
Binary files /dev/null and b/100000000values.zip differ

我尝试git reset --hard但无效,推测因100000000values.zip属于最后一次提交,该命令仅回到该提交状态,文件仍保留在暂存区。我不想重置到更早的提交,以免丢失已推送的内容。

有没有办法仅从暂存区删除100000000values.zip而不重置当前状态?


解决方案

先提交需要保留的文件,再通过git rebase -i完成操作:

  • 先提交你需要保留的文件,避免变基过程中丢失内容
  • 此时仓库会生成两个提交:一个包含所需文件和大文件100000000values.zip,另一个仅包含所需文件(不含大文件)
  • 最后通过交互式变基移除第一个包含大文件的提交即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:42:39