前言
之前开发的时候遇到过一次电脑异常重启的状况,电脑重启后再次进入Android Studio, 发现代码不在原来的分支,变成了一个游离分支,习惯性的把分支切换到dev开发分支,然后意外就出现了,发现写了一个下午的代码竟然不见了,之前的commit
都没有了。
心慌慌.... , 最后通过 git reflog
命令找回了代码。
这里记录下 git reflog
命令, 方便后续再遇到这样的问题时,可以最快的解决问题。
git reflog
$ git reflog
45f3d8721 (HEAD -> feature-v6B) HEAD@{0}: checkout: moving from feature-v6A to feature-v6B
d3e81f21b (feature-v6A) HEAD@{1}: commit: --story=NA
82d7bd368 HEAD@{2}: pull --recurse-submodules --progress origin feature-v6A: Fast-forward
51478911f HEAD@{3}: checkout: moving from test_yanlongli to feature-v6A
1055c2ba6 (test) HEAD@{4}: checkout: moving from feature-v6B to test_yanlongli
1055c2ba6 (test) HEAD@{5}: checkout: moving from feature-v6A to feature-v6B
51478911f HEAD@{6}: pull: Fast-forward
452370ccd HEAD@{7}: pull --recurse-submodules --progress origin feature-v6A: Fast-forward
5c5563b29 HEAD@{8}: pull --recurse-submodules --progress origin feature-v6A: Fast-forward
fcf67ef04 HEAD@{9}: pull --recurse-submodules --progress origin feature-v6A: Fast-forward
:
# 找到之前提交的commit 信息, 使用 git reset –hard xxxx 恢复到指定的commit
# 或者 使用 git checkout 也可以切换到之前的commit提交
$git reset –hard xxxx
后记
git reflog
命令知道后,使用起来很简单,不知道这个命令,出问题的时候心慌慌。
git reflog
关键的时候,真的是相当于救命啊。