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)

 

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