您的位置:首页 > 编程语言

git提交到HEAD detached导致代码丢失;找回方法和分析

2018-01-09 21:01 701 查看



背景

今天线上出现bug, 在切换到旧版本的时候,由于误操作导致本地代码丢失,找回巨费时,特记录如下;

bug产生原因

首先在master分支上开发,线上出现bug且回到旧版本的tag,这时master分支上有一部分代码修改但未提交。

当前在master上:执行git status 有未提交的代码



当前在master上:执行git tag查看标签信息



这时未提交代码,执行了git checkout v1.0



当前分支是detached,此时提交git add ./ git commit , 然后又执行了git checkout master,此时detached分支不见了,master上未提交的代码也没有了.....

代码找回

执行: git reflog可以看到提交记录



git co 247e11b

此时,依次执行git checkout 247e11b

git checkout -b diff

git checkout mastergit merge diff

代码成功找回

作者:riverli链接:https://www.jianshu.com/p/f247a27851fb來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐