git reset --hard 回滚到之前的版本以后,怎么撤销这一步回滚操作?
认证0级讲师
可以通过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除
一般情况下,gc对那些无用的object会保留很长时间后才清除的
可以使用git reflog show或git log -g命令来看到所有的操作日志
恢复的过程很简单:
通过git log -g命令来找到需要恢复的信息对应的commitid,可以通过提交的时间和日期来辨别,找到执行reset --hard之前的那个commit对应的commitid
通过git branch recover_branch commitid 来建立一个新的分支
这样,就把到commitid为止的代码、各种提交记录等信息都恢复到了recover_branch分支上了。
git stash save git reflog git checkout git branch
stash你现在的脏内容。用reflog找到你要回去的commit,checkout过去然后建个分支跟原来得分支merge。
可以通过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除
一般情况下,gc对那些无用的object会保留很长时间后才清除的
可以使用git reflog show或git log -g命令来看到所有的操作日志
恢复的过程很简单:
通过git log -g命令来找到需要恢复的信息对应的commitid,可以通过提交的时间和日期来辨别,找到执行reset --hard之前的那个commit对应的commitid
通过git branch recover_branch commitid 来建立一个新的分支
这样,就把到commitid为止的代码、各种提交记录等信息都恢复到了recover_branch分支上了。
stash你现在的脏内容。用reflog找到你要回去的commit,checkout过去然后建个分支跟原来得分支merge。