曾因不小心將內(nèi)存溢出的分析文件commit,就自然會(huì)引起git提交失敗,畢竟只有100M,很容易就超出锣光,后在網(wǎng)上查到過(guò)方法疙挺,但實(shí)在是過(guò)于麻煩莫湘,步驟過(guò)于繁瑣,今天再次遇到同樣問(wèn)題,找到了更簡(jiǎn)單的辦法記錄一下
首先通過(guò) rev-list 來(lái)找到倉(cāng)庫(kù)記錄中的大文件:
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"
然后通過(guò) filter-branch 來(lái)重寫這些大文件涉及到的所有提交(重寫歷史記錄):
git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch your-file-name' --tag-name-filter cat -- --all
然后就可以直接push了