1方法
可以知道git分为工作区,暂存区和对象区,在这里我有七次提交记录在对象区但没有传送到远端。我想要把这些提交撤销,因为这些提交中有些文件大小超过100M无法上传到github
这里我使用了如下代码,可以发现已经成功了,在这里这行代码把暂存区和对象区内容都撤销了
git reset --mixed HEAD~7
2资料补充
soft
只操作了对象区,暂存区和work都没有被影响,这里我理解你只是add了,继续commit就回到原来的效果。取消commit动作,但是commit前的add文件操作不会取消。如果要取消就git rm 这个文件,值得注意git rm文件后是去的暂存区,文件以及在暂存区了
hard
操作了对象区、暂存区和work,都被影响了,这里会修改工作区
mixed
操作了对象区、暂存区,work没有被影响
值得注意windows中用~
git reset --soft HEAD^1 //注意:unix
git reset --soft HEAD~1 //windows的bash