Git - error: File exceeds GitHub's file size limit of 100.00 MB
Github 有單一檔案大小的限制,最大 100 MB,如果超過限制你會無法 push 上去 repository。
你會看到像下面的錯誤訊息:
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: d1bdb4867603c30c2f6e4c6a8d41087c
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File file-path is 111.98 MB; this exceeds GitHub's file size limit of 100.00 MB
要解決這個問題,可以用 git filter-branch
將該檔案從你的 git repository 中移除:
到你的 git 根目錄
$ cd YOUR-REPOSITORY
將檔案從 git 記錄中刪除,PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA 是你的檔案路徑
$ git filter-branch --force --index-filter \ "git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA" \ --prune-empty --tag-name-filter cat -- --all
這指令執行後,檔案會從 GitHub 和你 local 的 repo 中被移除,如果是重要的檔案記得事先備份在其他地方。你可以將檔案路徑加到 .gitignore 中,避免之後檔案再被不小心 commit 進去 repo
最後將新的乾淨的 git 紀錄 push 回 GitHub,這次你會發現可以 push 成功了
$ git push origin --force --all