在使用git及github時,遇到一個問題:commit了一個超過100M的大文件,然后在push時失敗,然后就再也無法push了,本地大文件刪除了,再commit,再push也還是提示有大文件提交。
這是一種非常常見的問題,是典型案例,原因是本地對大文件的commit記錄還在,后來雖然remove了大文件並再次commit,但並不能抹除第一次對大文件的commit記錄,因此push時相當於依次執行 commit 大文件,commit remove大文件操作,故失敗。
解決方法:
1,先保存好本地已經commit但還沒有push的版本,
2,本地回退到commit大文件的前一版本,此版本往后的所有本地commit都被抹除了(這就是做步驟1的原因)
3,pull到最新版本
4,將1的東西重新commit上去
5,push
這樣就從版本中抹除了 大文件提交的紀錄
ps: 步2在tortoiseGit右鍵菜單中是 reset master to this