敲入git reset 相当于敲入git reset --mixed HEAD。
除了mixed,还有hard soft,总共三种模式。
- hard模式使得三个区域一致。
- mixed模式作用到后两个区域,staged snapshot和commit history。
- soft模式仅仅作用于最后一个区域,commit history。
举个例子
如果三个区域已经一致了,下面三种模式效果一样。
$git reset --hard
$git reset
$git reset --soft
如果加上HEAD^,表示历史回滚一次,情况就变了。
hard模式:
$git reset --hard HEAD^
三个区域都回滚一次。
mixed模式:
$git reset
后两个区域回滚一次,此时会出现如下提示。
Unstaged changes after reset:
soft模式:
$git reset --soft
最后一个区域回滚一次,可以通过git log查看当前历史。
这个操作后面有时间通过一个试验展示一下。