使用 git 向oschina push 代码,一直提示其中一个日志文件过大,可是那个日志文件我已经删除了啊?

浏览:20日期:2023-10-01

问题描述

1.之前在项目中commit 了一个 .log 文件(140M左右),然后push 到 git.oschina的时候被提示文件过大不能push,然后我就用 电脑键盘的 ‘delete ’键删除了这个文件,并在此 commit 然后push ,还是报一样的错误使用 git 向oschina  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文件不然每次生成都要删掉太麻烦了

相关文章: