Git 删除历史中的大文件或者敏感文件

git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -3
git rev-list --objects --all | grep 343940a
git log --pretty=oneline --branches -- _src/归档.zip

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch _src/归档.zip' --prune-empty --tag-name-filter cat -- --all

rm -Rf .git/refs/original
rm -Rf .git/logs/ 
git reflog --all  
git prune  
git gc  
du -hs

git count-objects -v

 

删除敏感文件:

# 假设要删除的文件是password.txt,运行如下命令:
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch src/main/resources/passowrd.txt' HEAD

git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch src/main/resources/passowrd.txt' HEAD

# 如果commit已经同步到了github,那么再运行如下命令永久删除远端上的文件。

git push --all --force

 

 

参考:

https://help.github.com/articles/removing-sensitive-data-from-a-repository/

https://blog.csdn.net/meteor1113/article/details/4407209

https://help.github.com/articles/removing-sensitive-data-from-a-repository/

https://blog.csdn.net/zcf1002797280/article/details/50723783

 

修改时间 2019-01-14

真诚赞赏,手留余香
赞赏
随机推荐
jQuery Mobile提交以后空白
依赖注入(DI)和控制反转(Ioc)
WordPress 不使用插件开发 RESTful API JWT 授权和验证
如何更改github工程的语言属性
Node.js实现的简单爬虫
Node.js 爬虫常见问题
CSS移动端在有弹出层时如何禁止底层的滚动
如何使页面横屏
解决 SSH 的 Write failed: Broken pipe 问题
移动端UI设计规范「小白干货」