Git 使用记录
有个大的文件100M+的log被加入且提交了,但是一旦push的话,就会提示报错,文件过大无法上传,所以想永久的删除该文件,且在以前的提交中也删除掉,包括git记录,主要参考这里
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch test/ -r' --prune-empty --tag-name-filter cat -- --all
git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
git reflog expire --expire=now --all
git gc --prune=now
git push --force --verbose --dry-run
git push --force
上面表示的是删除test目录下的所有东西,且重新更新所有的git记录
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"
查找最大的5个文件,然后可以重新上面的过程使得整个git空间减少