撤销操作
git checkout -- <filename>
,放弃文件的当前更改,回到最近一次的提交状态git reset HEAD <filename>
,取消暂存文件git commit --amend
,覆盖上一次的提交,虽然不是撤销操作,但有类似的效果git rebase -abort
,撤销一次rebase
回滚历史
git reset --hard HEAD^
,回滚到上个版本,(^
和~1
等价,^^
和~2
等价,^~2
相当于~3
,以此类推)git reset --hard HEAD~2
,回滚到前两个版本git reset --hard <SHA-1>
,回滚到指定版本号,如果是版本号前几位,git会自动寻找匹配的版本号git reset --hard <tag>
,回滚到指定标签的版本git reset --hard <SHA-1> <filename>
,回滚某个文件到指定版本号
撤销历史
git revert HEAD
,撤销最近一次的提交,并作为一次新的提交git revert HEAD~1
,撤销最近两次的提交,并作为一次新的提交git revert <SHA-1>
,撤销指定版本的提交,并作为一次新的提交