出现问题的原因
在commit的时候,我们之前提交的版本里面已经包含了些大文件了,虽然后来在新的提交里面删除了这些大文件,但是之前commit的记录还是存在,所以之后提交还是会失败
1) 模拟一下环境:
新建仓库并且添加一个 test.txt 文件
添加第一行话
作为第一次提交
- 2)我们来让大文件出场 添加 test.file注意这里的大小100多Mb,超过了github的默认限制
- 模拟一下提交到github仓库 (不出所料,报错了,驳回了我们的提交)
这里我们当上次的提交什么都没发生,继续敲我们的代码,添加第二行
再次提交我们新更改的(先不推送到远程仓库,肯定又会失败,因为上次的驳回我们还没处理)
3)处理大文件 (需要回退到提交大文件的那次提交的前一次提交,这里是 first commit, 记住哈希名称,后面要reset到这次提交,已经修改过的其他文件不会被消掉,所以不用担心)
查看历史提交
git reset 回退到第一次提交
查看状态,发现大文件的状态已经更新为untracked,此时我们把这个大文件备份到仓库之外的其他地方或者删除既可以了,并且修改过的test.txt文件中的内容并没有丢失
重新提交
总结
遇到问题,不要慌,总之只要不是 rm -rf /* 的自杀式操作,都有补救的措施,多查查资料,或者充分备份现场,然后休息一会再回来继续操作,你也会收获不一样的东西
一上来不要先一顿就开始敲代码,应该先完善文档,整理思路,画好导图,做好相关的可能性和功能性测试等,代码永远是最后一步