不小心提交了大文件到git上,需要從git提交記錄中徹底刪除才能在clone時減小clone的倉庫大小,否則歷史記錄仍然是有這個文件的。
- 使用git filter-branch
$ git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch <file>' --tag-name-filter cat -- --all
例子,徹底刪除倉庫note目錄下的所有文件
$ git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch note\' --tag-name-filter cat -- --all
- 提交變動
git push origin --all --force