git 常用操作四 - git reset

上一節我們講了通過 git checkout 命令,將 Modified files 撤銷。

今天來講一下 reset 命令。

通過 man git reset 可以看到這樣一張圖。只要理解了這張圖,那麼對 git reset 還有它的三個參數也就是 soft mixed hard 也就掌握了。

以第一條 --soft 簡單說明一下:

左邊是當前的git庫裏的情況:

工作區裏的內容是A

暫存區的內容是B

HEAD提交中的內容是C

而希望重置回的目標提交中的內容是D

執行 git reset --soft target 之後:

工作區裏的內容是A

暫存區的內容是B

HEAD提交中的內容是D 

也就是說 --soft 不改變 工作區和暫緩區

同理, --mixed  不改變 工作區 

 

大家可以結合下面這張圖做一些實際操作,加深理解。

其中 HEAD 表示當前提交

HEAD^ 表示當前提交的上一個提交.

比如下圖中,當前是處於 CommitB ,那麼 HEAD 表示 CommitB ,而 HEAD^ 就是 CommitA.

(綠色框中 HEAD:a.txt->abc 表示的是 版本庫中有一個 a.txt 文件,其內容是  abc)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章