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
以上内容为个人理解,不足之处欢迎指点!!!
网友评论