放棄工作目錄下的所有修改:
~~~
$ git reset --hard HEAD
~~~
移除緩存區的所有文件(i.e. 撤銷上次`git add`):
~~~
$ git reset HEAD
~~~
放棄某個文件的所有本地修改:
~~~
$ git checkout HEAD <file>
~~~
重置一個提交(通過創建一個截然不同的新提交)
~~~
$ git revert <commit>
~~~
將HEAD重置到指定的版本,并拋棄該版本之后的所有修改:
~~~
$ git reset --hard <commit>
~~~
將HEAD重置到上一次提交的版本,并將之后的修改標記為未添加到緩存區的修改:
~~~
$ git reset <commit>
~~~
將HEAD重置到上一次提交的版本,并保留未提交的本地修改:
~~~
$ git reset --keep <commit>
~~~