永久删除git库中的所有大文件或者机密文件
来源:互联网 发布:java免费报表开发工具 编辑:程序博客网 时间:2024/05/17 22:14
永久删除git库中的所有大文件或者机密文件
有时我们忘记了在gitignore中添加大文件或者二进制文件或者记录账号密码的文件,最后又不小心把他们commit了。
如果直接
git rm some-files
只能使得后面的commit中都不包括这些文件,如果是账号密码文件,别人可以从以前的commit中获取,
如果是大文件,整个git库的大小依然很大
所以解决的办法就是在git仓库中的删除所有的相关文件和记录,采用git filter-branch
来处理
假设有如下文件,我们需要删除*.db的文件
删除前的.git库的大小
删除匹配*.db的所有文件
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch *.db' --prune-empty --tag-name-filter cat -- --all
执行结果
立刻回收空间
rm -rf .git/refs/original/ git reflog expire --expire=now --allgit gc --prune=nowgit gc --aggressive --prune=now
执行结果
回收空间后.git库大小
最后把改动强制推送到远端
git push origin --force --all
完成收工~
参考链接
http://blog.mallol.cn/如何给git仓库瘦身删除大文件.html
https://help.github.com/articles/removing-sensitive-data-from-a-repository/
阅读全文
0 0
- 永久删除git库中的所有大文件或者机密文件
- git永久删除文件
- git永久删除文件
- Git 永久删除文件
- 改写历史,永久删除git库的物理文件
- Git如何永久删除文件(包括历史记录)
- Git永久删除文件(包括历史记录)
- git删除文件或者文件夹
- git 删除远程仓库中的文件或者文件夹
- 教你永久隐藏你的机密文件
- 机密文件
- 删除文件下的某个文件或者所有文件
- 从git中永久删除文件以节省空间
- 从git中永久删除文件以节省空间
- 如何删除git中的文件
- git删除文件所有历史版本
- 删除文件夹下所有的.git文件
- git用版本库文件覆盖本地删除或者修改过的文件
- Android JNI简介与调用流程
- HackerRank-even-tree【不带路径压缩的带权并查集】
- Mac安装rabbitMQ
- 第一百三十四天 : Puppet 的使用与进阶
- Tensorflow: Graph
- 永久删除git库中的所有大文件或者机密文件
- 105. Construct Binary Tree from Preorder and Inorder Traversal
- 浅析重载、隐藏与覆盖
- 通过FileZilla连接VirtualBox 下的Centos7
- 605. Can Place Flowers
- java实现细胞自动机
- 106. Construct Binary Tree from Inorder and Postorder Traversal
- 利用Python进行数据分析.pdf
- 二叉树递归与非递归遍历