撤銷操作
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>
,撤銷指定版本的提交,并作為一次新的提交