1.之前在專案中commit 了一個.log 文件(140M左右),然後push 到git.oschina的時候被提示文件過大不能push,然後我就用電腦鍵盤的'delete '鍵刪除了這個文件,並在此commit 然後push ,還是報一樣的錯誤
單純的新增一個commit或者commit --amend,只是從當前版本中刪除了這個文件,歷史提交中仍然記載有你添加這個文件以及刪除這個文件的全過程。 如果要從版本庫中徹底移除這個文件,必須改寫歷史中存在這個文件的所有提交。
commit
commit --amend
要改寫歷史,可以用git filter-branch,具體可以看Github上的教學。 git filter-branch,具体可以看Github上的教程。当然对于简单的情况,你也可以选择git reset加git rebase當然對於簡單的情況,你也可以選擇git reset加git rebase。
git filter-branch
git reset
git rebase
補充:git rm file.log相当于rm file.log && git add file.log,題主都已經把文件刪除並提交了,不懂的不要亂答了好不好…
git rm file.log
rm file.log && git add file.log
使用git rm來刪除
git rm
git rm --cached <filename>
然後再重新進行 add commit 等操作題主之後可以在 .gitignore 文件裡忽略.log檔不然每次生成都要刪掉太麻煩了
單純的新增一個
commit
或者commit --amend
,只是從當前版本中刪除了這個文件,歷史提交中仍然記載有你添加這個文件以及刪除這個文件的全過程。如果要從版本庫中徹底移除這個文件,必須改寫歷史中存在這個文件的所有提交。
要改寫歷史,可以用
git filter-branch
,具體可以看Github上的教學。git filter-branch
,具体可以看Github上的教程。当然对于简单的情况,你也可以选择
git reset
加git rebase
當然對於簡單的情況,你也可以選擇git reset
加git rebase
。補充:
git rm file.log
相当于rm file.log && git add file.log
,題主都已經把文件刪除並提交了,不懂的不要亂答了好不好…使用
git rm
來刪除然後再重新進行 add commit 等操作
題主之後可以在 .gitignore 文件裡忽略.log檔
不然每次生成都要刪掉太麻煩了