前言
本解决方案,只适合最近一个提交或者撤销commit的内容之后的提交内容你不需要。
问题
把两个commit之后的代码提交到git服务,git服务拒接接受提交,原因是第一个commit中有一个超过100M的文件。如何撤销commit之后的内容
失败的解决方案
参数过多个失败或者不适合的解决方案
- 从历史提交中删除内容,不合适的原因是可能会删除其他文件。具体操作请看从历史提交删除内容
- 直接通过其他命令做到,失败。
正确方案
- git log 查看需要撤销的提交id
- git reset --soft 【需要撤销提交的id】。reset操作是回滚到某个提交,然后取消commit操作内容。
- git status 可以看到撤销之后,add的内容。
- git rm --cached 【需要撤销的文件】 必须从本地索引中删除文件索引。直接使用git rm 是无效的
- git commit
- git push
- 处理完成