美文网首页DevSupportIOS三人行iOS提升
git提交到HEAD detached导致代码丢失

git提交到HEAD detached导致代码丢失

作者: 面试小集 | 来源:发表于2016-10-11 20:10 被阅读1774次

背景

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

bug产生原因

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

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

git status

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

git tag

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

git co v1.0

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

代码找回

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

git reflog

git co 247e11b

此时,依次执行
git checkout 247e11b
git checkout -b diff
git checkout master
git merge diff

代码成功找回

参考

stack overflow

相关文章

网友评论

本文标题:git提交到HEAD detached导致代码丢失

本文链接:https://www.haomeiwen.com/subject/zwpbyttx.html