问题描述
1.之前在项目中commit 了一个 .log 文件(140M左右),然后push 到 git.oschina的时候被提示文件过大不能push,然后我就用 电脑键盘的 ‘delete ’键删除了这个文件,并在此 commit 然后push ,还是报一样的错误
问题解答
回答1:单纯的新增一个commit或者commit --amend,只是从当前版本中删除了这个文件,历史提交中仍然记载有你添加这个文件以及删除这个文件的全过程。如果要从版本库中彻底去除这个文件,必须改写历史中存在这个文件的所有提交。
要改写历史,可以用git filter-branch,具体可以看Github上的教程。当然对于简单的情况,你也可以选择git reset加git rebase。
补充:git rm file.log相当于rm file.log && git add file.log,题主都已经把文件删掉并提交了,不懂的不要乱答了好不好…
回答2:使用git rm来删除
回答3:git rm --cached <filename>
然后再重新进行 add commit 等操作题主之后可以在 .gitignore 文件里忽略.log文件不然每次生成都要删掉太麻烦了