Git III: 撤销操作

所谓撤销操作,无非就是后悔药。对Git来说,撤销操作主要是以下几块:

  1. 撤销已经提交的Commit。
  2. 对已经通过git add加入Stage的文件,进行unstage操作。
  3. 对已经是Untracked却modified的文件,进行unmodify操作。

以下就针对上述三种情况,分别进行描述:

  • 撤销已经提交的Commit。
    如果要撤销整个Commit,那么可以使用
$git revert 

注意,git并不是回退HEAD指针,而是生成一个新commit,undo指定commit的修改。这种情况下,commit的记录还存在。

还可以使用:

$git reset HEAD

需要知道的是,git reset比git revert危险的多。

  • Unstage操作。
    Unstage通常只是需要Unstage指定的文件。
    可以使用reset的方法
$git reset HEAD 
  • Unmodify 操作。
    Unmodify同样也只需要Unmodify指定的文件。
$git clean [-d] -i

选项-d用来指定文件夹。选项-i用来作为交互式操作。

除了上述的方法之外,可以使用checkout来覆盖指定的文件(从一个指定的commit中):

$git check <commit> <file>

是为之记。
Alva Chien
2016.6.29

你可能感兴趣的:(Software,Engineering)