精讲链接:
https://segmentfault.com/a/1190000009126517
这三个命令都可以用于撤销。
reset和checkout可以作用于commit或者文件,revert只能作用于commit。
Index
空间,也叫做stage
空间,或者cache
空间
reset
$ git checkout hotfix
$ git reset HEAD~2
git reset 用于撤销未被提交到remote的改动,即撤销local的修改。
除了移动当前分支的HEAD,还可以更改workspace和index:
-
--soft
:修改HEAD,不修改index和workspace。(只修改指针) -
--mixed
:修改HEAD和index,不修改workspace。默认行为。(修改指针、暂存区) -
--hard
:修改HEAD、index、workspace。(修改指针、暂存区、工作区)
git reset --mixed HEAD
把inde