Git 大文件误提交处理

578 字
3 分钟
Git 大文件误提交处理

Git 大文件误提交处理#

大文件误提交会让仓库变慢,甚至导致远程推送失败。常见的大文件包括压缩包、模型权重、数据集、构建产物和日志。

处理时要区分:文件只是被加入暂存区,还是已经进入提交历史。

还没提交#

Terminal window
git status
git restore --staged big-file.zip

这只会取消暂存,不会删除工作区文件。

加入 .gitignore#

*.zip
dist/
node_modules/
*.pt
*.onnx
data/

忽略规则只对未被 Git 跟踪的文件生效。已经跟踪的文件需要先从索引移除。

已跟踪但想保留本地文件#

Terminal window
git rm --cached big-file.zip

然后提交 .gitignore 和索引变化,本地文件仍然保留。

已经进历史#

如果大文件已经进入提交历史,普通删除不会减少历史体积。需要使用 git filter-repo 或 BFG 清理历史,但这会影响协作分支,必须谨慎。

实战复盘#

把《Git 大文件误提交处理》写成可复用排查记录时,我会保留四类证据:原始现象、执行命令、关键输出、修复后的验证结果。少了其中任何一类,下次遇到类似问题都容易重新猜一遍。

排查类文章不要只写最终命令,还要写为什么先查这里。比如端口问题先看监听进程,Nginx 问题先分清 404 和 403,Python 环境问题先确认解释器路径。

如果修复动作有风险,例如杀进程、删文件、改服务配置,就应该写清回退方式。能恢复,才敢在服务器上操作。

最小验收样例#

验收《Git 大文件误提交处理》时,我会保留一条修复前命令和一条修复后命令。前者证明问题存在,后者证明问题已经消失,而不是只凭浏览器或终端感觉判断。

如果这篇文章涉及服务器操作,还要记录当前路径、用户、服务名和关键配置文件。排查记录越能还原现场,下次遇到同类问题越不需要重新摸索。

小结#

大文件处理越早越简单。提交前发现只需取消暂存;进入历史后再清理,就会影响整个仓库。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Git 大文件误提交处理
https://blog.tjcheng.cn/posts/backfill/2026-06-27/git-ignore-large-file/
作者
TengJinCheng
发布于
2026-06-27
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
TengJinCheng
Hello, I'm Teng.
公告
欢迎来到TengJinCheng工作铺!
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
157
分类
7
标签
114
总字数
109,939
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.4
文章许可
CC BY-NC-SA 4.0

文章目录