git 误删分支恢复方法
在使用Git的过程中,因为人为因素造成分支(commit)被删除,可以使用以下步骤进行恢复。
首先用以下步骤创建一个新分支,修改一些文件后删除,以便进行恢复。
1.创建分支 abc
git branch abc- 1
- 1
2.查看分支列表
git branch -a
  abc
* develop
  remotes/origin-dev/develop- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
3.切换到abc分支,随便修改一下东西后 commit
切换分支
git checkout abc
Switched to branch 'abc'
创建一个文件
echo 'abc' > test.txt
commit
git add .
git commit -m 'add test.txt'
[abc 3eac14d] add test.txt
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
4.删除分支abc
git branch -D abc
Deleted branch abc (was 3eac14d).- 1
- 2
- 1
- 2
5.查看分支列表,abc分支已不存在
git branch -a
* develop
  remotes/origin-dev/develop- 1
- 2
- 3
- 1
- 2
- 3
恢复步骤如下:
1.使用git log -g 找回之前提交的commit
commit 3eac14d05bc1264cda54a7c21f04c3892f32406a
Reflog: HEAD@{1} (fdipzone <fdipzone@sina.com>)
Reflog message: commit: add test.txt
Author: fdipzone <fdipzone@sina.com>
Date:   Sun Jan 31 22:26:33 2016 +0800
    add test.txt
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2.使用git branch recover_branch[新分支] commit_id命令用这个commit创建一个分支
git branch recover_branch_abc 3eac14d05bc1264cda54a7c21f04c3892f32406a
git branch -a
* develop
  recover_branch_abc
  remotes/origin-dev/develop- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
可以见到recover_branch_abc已创建
3.切换到recover_branch_abc分支,检查文件是否存在
git checkout recover_branch_abc
Switched to branch 'recover_branch_abc'
ls -lt
total 8
-rw-r--r--   1 fdipzone  staff     4  1 31 22:38 test.txt这样就可以恢复被误删的分支了
http://blog.csdn.net/fdipzone/article/details/50616386
git 误删分支恢复方法的更多相关文章
- Git删除分支/恢复分支
		• 删除一个已被终止的分支 如果需要删除的分支不是当前正在打开的分支,使用branch -d直接删除 git branch -d <branch_name> • 删除一个正打开的分支 如 ... 
- Linux文件误删之后恢复方法
		前言 今天不小心把一个文件给误删了,因为不想花半天时间重新写,就查找了一下Linux下恢复文件的方法. 因为是刚删不久,文件实际的数据应该还在 首先查看系统分区 Linux:~# df Filesys ... 
- Ubuntu 16.04使用rm -rf误删文件恢复方法收集
		说明:不一定有效,需要不断尝试 一.lsof 文件刚刚被删除,想要恢复,先尝试lsof. lsof |grep data.file1 cp /proc/xxx/xxx/xx /dir/data.fil ... 
- git误删文件找回方法/git版本回退方法
		使用git命令 git rm css/\*.css 我删掉了css文件夹下所有以.css结尾的文件,那么要怎样才能把文件找回来呢,下面说说方法,删掉其他的文件也是一样的方式找回. 第一步:使用git ... 
- Mysql误删表中数据与误删表的恢复方法
		由于头两天面试时被问了这样一个问题,如果某同事误删了某个表,你该怎么恢复? 当时想了一下,因为博主没有遇到过这个问题,但是也多少了解一些,所以就回答通过mysql的binlog日志进行恢复. 面试官当 ... 
- 误删ext3的恢复方法
		1.Ext3文件系统结构的简单介绍在Linux所 用的Ext3文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分.每个文件还有一个节点,节点中包含有文件所有者, 读写 ... 
- Jenkins插件获取git分支的方法
		1.旧版本的Jenkins可以使用Dynamic Choice Parameter插件: 使用方法: Jenkins--->dev-h5-server--->配置--->参数化构建过 ... 
- 01 . Git常用命令及方法和分支管理
		原理 # Workspace:工作区 # Index / Stage:暂存区 # Repository:仓库区(或本地仓库) # Remote:远程仓库 本地分支关联远程 git branch --s ... 
- IIS误删了默认网站,恢复方法
		有时候安装好IIS后,会不小心把IIS的默认网站删除.重新去新建可能会出现一些错误例如"提示文件已存在无法执行"等奇怪的错误,下面是具体的默认网站的恢复方法 找到目录C:\wind ... 
随机推荐
- test.cpp:(.text+0xc0): undefined reference to `cv::imread(std::string const&, int)'
			opencv报错: test.cpp:(.text+0xc0): undefined reference to `cv::imread(std::string const&, int)' te ... 
- vim中delete(backspace)键不能向左删除
			MacOS修改为英文语言之后,忽然出现如题问题:delete键不能向左删除,只可以删除本次插入模式下插入的文本.原因: 转载:https://www.smslit.top/2016/11/27/vim ... 
- Oracle 12c: RMAN restore/recover pluggable database
			查看数据库状态 运行在归档模式,可拔插数据库name=pdborcl SQL> archive log list; Database log mode Archive Mode Automati ... 
- 谈谈MySQL死锁 一
			数据越来越和我们的生活离不开,数据在生命周期的各个阶段有着不同的痛点和需求以及特殊场景. CURD是数据的四大基本需求:写入,更新,读取,删除. 今天,来谈一谈死锁问题 死锁是高并发下MySQL不可回 ... 
- Main.storyboard: WKWebView before iOS 11.0 (NSCoding support was broken in previous versions)
			在工程里用 故事板写了 wkwebview 如果运行在 ios11以下 就会报这个错误,如果要支持iOS 11 以下的用户,请重写View部分,使用代码调用WKWebView,而不用使用故事版来加 ... 
- More than the maximum number of request parameters
			前些时间,我们的的一个管理系统出现了点问题,原本运行的好好的功能,业务方突然讲不行了,那个应用已经运行了好多年了,并且对应的代码最近谁也没改动过,好奇怪的问题,为了解决此问题,我们查看了日志,发现请求 ... 
- Effective Java 第三版——49. 检查参数有效性
			Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ... 
- [k8s]svc里知识点小结
			svc里面涉及到的概念较多一些,总结如下 
- Android下查看共享库依赖项
			Android下查看共享库依赖项 [时间:2017-02] [状态:Open] [关键词:android,共享库依赖项,so,ndk,objdump,readelf] 起因 近期在处理Android下 ... 
- 15款基于 jQuery模态对话框
			在数字世界的竞争已大大增加.这就是为什么要确保网络设计的各个方面都是一流的,这是很重要的.从布局到一些非常小的东西,比如对话框,每一件都需要设计得很好.对话框通常被忽视,但它们可能对访问者有很大的影响 ... 
