文档章节

Git挽救丢失的代码

囚兔
 囚兔
发布于 2013/04/22 23:57
字数 284
阅读 1985
收藏 11

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

    有两个分支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。

    感谢讨论区的朋友的回答



© 著作权归作者所有

共有 人打赏支持
囚兔

囚兔

粉丝 39
博文 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

没有更多内容

加载失败,请刷新页面

加载更多

arts-week10

Algorithm 905. Sort Array By Parity - LeetCode Review Who’s Afraid of the Big Bad Preloader? 一文读懂前端缓存 一个网络请求3个步骤:请求,处理,响应,而前端缓存主要在请求处响应这两步...

yysue
48分钟前
0
0
00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
4
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
126
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部