如何刪除git提交歷史中包含的大文件,GITHUB 100MB文件限制

1.通過rev-list來找到倉庫記錄中的大文件:

git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"

2.然後通過filter-branch來重寫這些大文件涉及到的所有提交(重寫歷史記錄): 

git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch your-file-name' --tag-name-filter cat -- --all

3.再刪除緩存的對象

 git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin

 git reflog expire --expire=now --all

 git gc --prune=now

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章