Git删除已提交的文件
2024-10-19 19:45:29
Git删除已提交的文件
昨天通过Git Bash提交代码的时候遇到了由于单个文件大小超过100M,导致代码上传失败的问题。考虑到那个大文件是用于训练模型的数据集,并没有进行版本控制的必要,为了方便以后能快速推送和拉取代码,决定设置Git忽略该文件并且从提交记录中删除它。本文记录了Git删除已提交的文件的整个过程,主要内容包括定位文件和删除文件。
定位文件
通过
git rev-list
命令确定需要删除的文件git rev-list --objects --all 6e218fcb1ce2dea99b0b11c4b2622e374c346d92 data/unaligned/dev
6cefb1936b02424bfeff514dbeee0c8e18f78fd4 data/unaligned/test
adcdc9fd6b3171ef173e43a2dde9d3502b59c504 data/unaligned/train
可以配合使用
git verify-pack
和git rev-list
找出仓库中的大文件git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5 git rev-list --objects --all | grep adcdc9fd6b3171ef173e43a2dde9d3502b59c504 adcdc9fd6b3171ef173e43a2dde9d3502b59c504 data/unaligned/train
删除文件
通过
git filter-branch
命令删除文件git filter-branch --index-filter 'git rm --cached --ignore-unmatch data/unaligned/train' -- --all
主动回收资源、清理仓库
Git仓库历史有个缓存期,如果不主动回收、清理仓库历史,一般的这些记录还会保存一段时间。通过以下命令可以主动回收资源:
rm -rf .git/refs/original/
rm -rf .git/logs/ git gc
git prune
参考链接
最新文章
- Laravel五大功能之Eloquent关系模式
- jenkins 入门教程(上)
- 在 Visual Studio 2013 中创建 ASP.NET Web 项目(1):概述 - 创建 Web 应用程序项目
- php的session_start
- 剑指offer--面试题17
- 有关<;action android:name=";android.intent.action.DELETE"; />;
- Windows下通过脚本快速修改IP地址
- 关于 zend studio 中有些php 内置函数没有提示,或是有‘小黄色感叹号’
- 网络数据(socket)传输总结
- zoom:1-hasLayout
- 【G】开源的分布式部署解决方案文档 - 部署Console &; 控制负载均衡 &; 跳转持续集成控制台
- 中国地图插件世界地图||jQuery矢量SVG地图插件JVectorMap
- 转:springmvc常用注解标签详解
- junit-test
- FutureTask demo
- ASP.NET开发总结
- activity 的跳转
- Oracle EBS OM 已存在的OM订单增加物料
- r语言 列出所有变量
- null类型