git reset 命令

Git 基本操作Git 基本操作

git reset 命令用于回退版本,可以退回指定的某一次提交的版本。

 

1. git reset 命令的語法

git reset [--soft | --mixed | --hard] [commit]

其中 [commit] 為提交點。

 

2. git HEAD 提交點

學(xué)習(xí) git reset 命令之前,首先需要了解一個概念 HEAD。

HEAD 是本地版本庫中當(dāng)前分支引用的指針,它總是指向該分支上的最后一次提交。

用 HEAD 表示的提交點 commit:

  • HEAD 表示當(dāng)前版本
  • HEAD^ 上一個版本
  • HEAD^^ 上上一個版本
  • ...

可以使用 ~數(shù)字表示。

  • HEAD~0 表示當(dāng)前版本
  • HEAD~1 上一個版本
  • HEAD^2 上上一個版本
  • ...

 

3. git reset --mixed 命令

git reset –mixed 移動 HEAD 到指定的 commit,同時重置暫存區(qū)為指定 commit 的狀態(tài)(將內(nèi)容從 HEAD 復(fù)制到暫存區(qū)中),但保留原先的工作目錄,同時將添加暫存區(qū)的修改撤銷到工作目錄中。

git reset --mixed 有 取消暫存文件 的效果。實際上它與 git add 所做的操作相反,可以用該命令撤銷 add 到暫存區(qū)的修改到工作區(qū)。

其中 --mixed 為默認(rèn),可以不用帶該參數(shù),也就是 git reset --mixed 等價于 git reset。

例如:

# 回退所有內(nèi)容到上一個版本
$ git reset HEAD^

# 回退 hello.php 文件的版本到上一個版本    
$ git reset HEAD^ hello.php

# 回退到指定版本
$ git reset 052e           

 

4. git reset --soft 命令

git reset –soft 只移動 HEAD 到指定的 commit,但保留原先暫存區(qū)和工作目錄的內(nèi)容,同時會將指定 commit 之后提交的內(nèi)容設(shè)置到暫存區(qū)中。

git reset --soft 可以用于壓縮最近的提交,用該命令將 HEAD 移動到一個舊一點的提交上,然后再 commit 就可以將多個最近的提交壓縮為一個。

 

5. git reset --hard 命令

移動 HEAD 到指定的 commit,同時重置暫存區(qū)和工作目錄到指定 commit。

這三個參數(shù)中,只有 soft 和 mixed 是安全的,hard 會令工作丟失,使用時應(yīng)該小心。

Git 基本操作Git 基本操作

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清