84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
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文件
不然每次生成都要删掉太麻烦了