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來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关文章推荐
- 解决使用pycharm提交代码时冲突之后文件丢失找回的方法
- 记录一次操作git 的愚蠢行为(本地代码只 git add 过,没有 commit ,push 过,然后版本回退 导致本地代码丢失)
- Intellij IDEA使用git提交代码时去掉Code analysis代码分析的提示
- Git合并的代码 不提交服务器的方法
- Git detached head的解决方法
- 类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们的问题的解决方法 续集
- git的使用方法:回退本次commit,提交代码到另一个远程仓库,修改远程仓库地址
- git提交代码时遇到代码库有更新以及本地有更新的解决方法
- git使用IDEA工具更新代码,导致未提交代码被覆盖解决办法
- asp.net页面间传值的几种方法 表单提交 传送页面代码 复制代码 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server
- git提交代码报错 trailing whitespace的解决方法
- git查看提交历史并进行代码回退的方法
- 使用Android Studio时git上的代码更新失败(index.lock),导致无法提交
- Eclipse恢复已删除的文件和代码、svn使用了还原,但本地的没有提交找回没提交代码的方法
- Eclipse恢复已删除的文件和代码、svn使用了还原,但本地的没有提交找回没提交代码的方法
- git切换分支导致代码丢失的问题
- Eclipse恢复已删除的文件和代码、svn使用了还原,但本地的没有提交找回没提交代码的方法
- Eclipse恢复已删除的文件和代码、svn使用了还原,但本地的没有提交找回没提交代码的方法
- git 本地提交未推送 不小心迁出、删除后 的找回方法!