关于git的reset指令说明-soft、mixed、hard
    在开发过程中,git的版本管理越来越普及。在版本管理中,最常⽤和最重要的是重置提交的版本,恢复后悔做了的事。⼤家都知道⽤reset命令。但是有⼏种形态需要整理共享⼀下,也⽅便我⾃⼰查阅。
⼀、⾸先解析以下这三个相关的状态和概念,
1、HEAD:可以描述为当前分⽀最后⼀个提交。即本地的信息中的当前版本。
2、Index:在⼯作副本修改之后执⾏过git add操作的版本⽂件,可以commit了的。
3、Working Copy:⼯作副本是你正在修改,但是没有执⾏任何git操作的⽂件。
总的来说,
代码修改,还没做任何操作的时候就是 Working Copy,
git add * 操作之后就是Index,
git commit 之后就是HEAD。如果代码修改了之后进⾏git add 操作,然后git commit,那么所有三者(HEAD,INDEX(STAGING),WORKING COPY)都是相同的状态,内容相同。
⼆、reset
1. soft(更改HEAD)(恢复git commit的操作)
软重置。本来origin的HEAD和本地的HEAD⼀样,如果你指定--soft参数,Git只是单纯的把本地HEAD更改到你指定的版本那么,整个过程中,就HEAD的定义发⽣了变化,其他像Working Copy 和Index都没有变化。该参数⽤于git commit后,⼜要恢复还没commit的场景,重新审查代码,然后再推上去。
  2.hard(更改三者)
--hard参数将会将会重置(HEAD,INDEX(STAGING),WORKING COPY),强制⼀致。该参数⽤于在把⼯作副本改成⼀塌糊涂的时候,包括⼯作副本,⼀股脑恢复。有些就单纯修改⽂件,其中有些git add了,有些git commit了,通通不管,可以⼀个命令恢复。
  3.mixed(default)(恢复git add的操作,包含恢复git commit的操作)
--mixed是reset的默认参数,也就是当你不指定任何参数时的参数。它将重置HEAD到另外⼀个commit,并且重置index以便和HEAD相匹配。git常用指令
三、记忆⽅法
⼯作流中先是本地修改,然后git add,然后gitcommit。以本地修改为最⾼量级,以⾃⼰为中⼼。该参数⽤于你在本地改了⽂件⼀部分commit了,⼀部分刚好git add了,这时候你要恢复到你的⼯作副本状态,要求再次审查代码。
1、soft:重置git commit
2、mixed:重置git commit 和 git add
3、hard:重置git commit 和 git add 和⼯作副本的修改。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。