文档章节

Git挽救丢失的代码

囚兔
 囚兔
发布于 2013/04/22 23:57
字数 284
阅读 1890
收藏 11
点赞 1
评论 4

    昨天晚上头脑一发热,丢失了之前忘记提交的代码,情况如下:

    有两个分支master,develop,使用develop作为开发分支,前段时间开发了一些代码在develop上,忘记提交,昨晚头脑发热直接切换到master目录下,导致无法找到之前开发的未提交的代码,通过在讨论区提问和自己查找资料,最终找回代码,具体操作如下:

使用git reflog命令找到我昨天切换分支的日志即cee30a8 HEAD@{3}:checkout: moving from 90ccea197...这行,其中90ccea1...为SHA-1码,用来唯一的标识一个代码快照,这也就是我要还原回去的代码快照。

  先建立一个临时分支recover-branch并指向90ccea197...标识的快照,则该分支即为之前未提交代码的develop分支状态然后再将其合并到develop和master解决问题。

  下次得记得当前分支未提交代码在不提交的情况下切换分支,得使用git stash。

    感谢讨论区的朋友的回答



© 著作权归作者所有

共有 人打赏支持
囚兔

囚兔

粉丝 38
博文 82
码字总数 46066
作品 1
南京
程序员
加载中

评论(4)

b33d8041
b33d8041

引用来自“shipley”的评论

引用来自“biergaizi2009”的评论

git 早就不允许这样做了啊,除非 foece

我又测试了下,有两个库master和develop,当前为develop,修改文件README的一行,
执行git checkout master,显示:
M README
Switched to branch 'master'
然后修改同步到了master库,这是为什么呢?

可能是 MinGW 的版本问题,我也用但也没发现这个问题。我起床之后去试试我的 Linux
囚兔
囚兔

引用来自“biergaizi2009”的评论

git 早就不允许这样做了啊,除非 foece

我又测试了下,有两个库master和develop,当前为develop,修改文件README的一行,
执行git checkout master,显示:
M README
Switched to branch 'master'
然后修改同步到了master库,这是为什么呢?
b33d8041
b33d8041
git 早就不允许这样做了啊,除非 foece
n
neoaries
谢谢分享,不过希望不会用到这个功能
git 挽救忘记提交到哪个分支的代码

代码丢失了,总是让人感觉神情恍惚,跟女朋友漏气一样的心情。没办法,只能找回了,不然昨天的工作就白干了,免不了头头还可能说昨天汇报的完成度是不是弄虚作假啦。不幸中的万幸,项目使用的...

BravoZu
2016/05/25
52
0
《Git权威指南》读书笔记 第七章 Git重置

提交可以通过对父提交的关联实现对提交历史的追溯。可以使用下面的命令对提交进程追溯: 7.1 分支游标master 当有新的提交发生时,文件.git/refs/head/master的内容如何改变? 首先创建一个新...

一万
2016/07/18
17
0
git多人合作时,恢复误删文件

一开始比较慌,下意识里就想到用reset和push -f重置版本并强制推送到远程库,经过实验发现这样做只能保证自己的本地库和远程库回到之前一个版本,而其他人想通过git pull同步是无效的,远程库...

吾爱
2014/07/17
0
1
git merge使用不当引发的代码丢失血案

背景 几年前大批量的团队都在转用,的本地库和分支特性让代码管理的便利性大大增加,也因为本地库和分支的大批量使用导致了代码之间的频繁merge,我们团队以前就有遇到过以后丢代码的情况,表...

临江仙卜算子
07/02
0
0
Android项目构建相关面试问题

一、Android构建流程 android apk构建详细流程图 打包步骤 1. 通过aapt打包res资源文件,生成R.java、resources.arsc和res文件(二进制 & 非二进制如res/raw和pic保持原样) 。 2. 处理.aidl...

千涯秋瑟
2017/12/07
0
0
你应该从 SVN 迁移到 Git 吗?

简而言之,对于新项目来讲,Git是不错的选择,否则,NO! 最近整个技术社区都在讨论Git。很多人都推崇Git,说它是多么多么的牛逼,如果你还不从SVN或者CVS迁移到就会被淘汰云云。我并不同意这...

虫虫
2012/02/23
11.7K
55
SVN与git的区别【图文经典版】

设计模式的差异 1、集中化的版本控制系统 集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )。这类系统,诸如 CVS,Subversion 以及 Perforce 等,都有一个单一的集...

pocher
02/07
3
0
gitlab创建merge请求:从master合并到foo分支后的问题

场景: 同事发了一个版(我需要其中部分代码),提交合并到主分支,然后我的分支也提交到主分支,然后再将主分支上的代码合并到我的分支(gitlab上进行的合并操作)。然后再在本地开发环境中...

NILYANG
2015/04/21
0
0
Linux 第九周学习笔记(1) SElinux,系统恢复

####selinux的初级管理 1.概念 selinux:内核级加强型防火墙 2.如何管理selinux级别 selinux开启或者关闭 vim /etc/sysconfig/selinux selinux=disabled##关闭状态 selinux=Enforcing##强制状...

Lyitx
2016/11/24
0
0
10 个技巧促使你的 Git 的技能上一个台阶 —— SitePoint

摘要:最近,我们发布了一些教程促使你了解 Git 基础知识和在团队环境中使用 Git。谈论的指令已经足够帮助一个开发者在 Git 世界中生存。在这次教程中,我们尝试如何在有效的时间内充分掌握提...

众成翻译
01/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring-@RequestBody

@RequestMapping("/login")    public void login(@RequestBody String userName,@RequestBody String pwd){      System.out.println(userName+" :"+pwd);    }    ......

说回答
5分钟前
0
0
Redis安装

大家可以通过该链接获取安装详情(这是一个Word文档,支持下载): http://note.youdao.com/noteshare?id=7a327ed6c58fb2037ba537e58ecf7510&sub=480DB8EF349747C3983B73AE94D45BB1 其他参考...

一梦心草
6分钟前
0
0
MySQL按天,按周,按月,按时间段统计【转载】

https://blog.csdn.net/qq_28056641/article/details/78306870 select DATE_FORMAT(create_time,'%Y%m%d') days,count(caseid) count from tc_case group by days; select DATE_FORMAT(creat......

李道福
7分钟前
0
0
浅谈parallelStream

parallelStream是什么,它是一个集合的并发处理流.其作用是把一个集合中的数据分片,进行一个多线程的处理,增快运行速度. 比如说这样一段代码 private Set<SysRole> sysRoles;private Set<St...

算法之名
9分钟前
3
0
器者,道之所载

形而上者谓之道,形而下者谓之器,化而裁之谓之变;推而行之谓之通,举而措之天下之民,谓之事业。—— 《道德经》

了凡川
11分钟前
0
0
C#命名规范中文版/C#编码规范中文版

最新文档地址https://github.com/hiramtan/CSharpNamingGuidelines_Chinese C#命名规范中文版/C#编码规范中文版 示例 /*****************************************************************......

海贝Hibey
12分钟前
0
0
刚从eclipse转到Intellij IDEA,分享一些配置经验

刚从eclipse转到Intellij IDEA,分享一些配置经验,IntelliJ IDEA作为最好的Java开发工具,在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等...

舒文joven
13分钟前
1
0
lombok 引入后,测试类始终找不到get,set方法。

开发环境为idea,jdk1.7,maven3.5. 网上直接搜出来的方法有: 1、在setting里安装lombok的plugins; 2、如下图,勾选enable annocation processing选项 3、升级maven plugins插件 我尝试了以...

Kidult
19分钟前
0
0
Duang,HUAWEI DevEco IDE全面升级啦

想感受全新UI带来的视觉及交互体验、 HiKey970开发板调测、 HiAI API推荐和收藏、 深度AI模型分析等新功能, 体验高清晰度和流畅度的远程AI真机调测吗? 全新的UI设计 采用最优秀的视觉及交互...

华为终端开放实验室
28分钟前
1
0
阻止事件冒泡,阻止默认事件

1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开, 2.event....

闫亚亚
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部