git reset 指令

reset:重置;清零。

git reset 使用场景为丢弃commit后的commit信息、index信息或者源码。

git reset 三种模式

--soft
 --mixed(默认)
--hard

**git reset --soft HEAD~n或commit id **

回退项:commit信息
回退情况:当前commit与目标commit信息之间的commit信息丢失,此时index信 息未发生改变---stage状态后未commit的状态,执行git commit将本次操作提交到本地分支。

git reset (--mixed)HEAD~n或commit id

回退项:index 信息、commit信息
回退情况:当前commit与目标commit信息之间的commit信息丢失,此时index信息也发生改变---为unstage状态,需执行**git add . **将文件变更暂存,执行git commit将本次操作提交到本地分支。

git reset --hard HEAD~n或commit id

回退项:index 信息、commit信息、源码
回退情况:当前commit与目标commit信息之间的commit信息、index信息、源码全部丢失。

git reset 恢复

git reset [模式] commit Id

使用指令git reflog 查看操作历史,定位想要恢复的commit Id
根据情况执行 git reset commitId
一般恢复为源码恢复,其他两种模式没有恢复的价值(个人认为),所以一般的执行为git reset --hard commit Id

以上内容为个人理解,不足之处欢迎指点!!!

你可能感兴趣的:(git reset 指令)