在使用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 误删分支恢复方法的更多相关文章

  1. Git删除分支/恢复分支

     • 删除一个已被终止的分支 如果需要删除的分支不是当前正在打开的分支,使用branch -d直接删除 git branch -d <branch_name> • 删除一个正打开的分支 如 ...

  2. Linux文件误删之后恢复方法

    前言 今天不小心把一个文件给误删了,因为不想花半天时间重新写,就查找了一下Linux下恢复文件的方法. 因为是刚删不久,文件实际的数据应该还在 首先查看系统分区 Linux:~# df Filesys ...

  3. Ubuntu 16.04使用rm -rf误删文件恢复方法收集

    说明:不一定有效,需要不断尝试 一.lsof 文件刚刚被删除,想要恢复,先尝试lsof. lsof |grep data.file1 cp /proc/xxx/xxx/xx /dir/data.fil ...

  4. git误删文件找回方法/git版本回退方法

    使用git命令 git rm css/\*.css 我删掉了css文件夹下所有以.css结尾的文件,那么要怎样才能把文件找回来呢,下面说说方法,删掉其他的文件也是一样的方式找回. 第一步:使用git ...

  5. Mysql误删表中数据与误删表的恢复方法

    由于头两天面试时被问了这样一个问题,如果某同事误删了某个表,你该怎么恢复? 当时想了一下,因为博主没有遇到过这个问题,但是也多少了解一些,所以就回答通过mysql的binlog日志进行恢复. 面试官当 ...

  6. 误删ext3的恢复方法

    1.Ext3文件系统结构的简单介绍在Linux所 用的Ext3文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分.每个文件还有一个节点,节点中包含有文件所有者, 读写 ...

  7. Jenkins插件获取git分支的方法

    1.旧版本的Jenkins可以使用Dynamic Choice Parameter插件: 使用方法: Jenkins--->dev-h5-server--->配置--->参数化构建过 ...

  8. 01 . Git常用命令及方法和分支管理

    原理 # Workspace:工作区 # Index / Stage:暂存区 # Repository:仓库区(或本地仓库) # Remote:远程仓库 本地分支关联远程 git branch --s ...

  9. IIS误删了默认网站,恢复方法

    有时候安装好IIS后,会不小心把IIS的默认网站删除.重新去新建可能会出现一些错误例如"提示文件已存在无法执行"等奇怪的错误,下面是具体的默认网站的恢复方法 找到目录C:\wind ...

随机推荐

  1. DAC Essentials

    http://e2e.ti.com/blogs_/b/analogwire/archive/tags/DAC%2bEssentials DAC Essentials: A new blog serie ...

  2. Delphi自写组件:可设置颜色的按钮

    unit ColorButton; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, StdCtrls; ...

  3. UITransitionView and UILayoutContainerView

    What is UITransitionView? What is UILayoutContainerView? Will I get in trouble for adding subviews t ...

  4. maven学习二(dependencies)

    在前面一篇文章maven学习一(HelloWorld工程)已经对maven有了基本介绍,本文开始介绍maven依赖,通过如何如何增加log4j来学习maven的dependencies no-depe ...

  5. vs2013修改书签(vs书签文件位置)

    visual studio 2013 的书签功能很好用,可以记录一些代码的位置:方便查阅: 不过当项目被他人修改过后,svn update 更新过后,书签的文件行号不变,但是已经不再是原来记录的哪一行 ...

  6. GraphQL入门1

    1. 资源: 主站: https://graphql.org/ 中文站: http://graphql.cn 入门视频: https://graphql.org/blog/rest-api-graph ...

  7. 【SQL 代码】SQL复制数据表及表结构

    select * into 目标表名 from 源表名 from 源表名 以上两句都是将'源表'的数据插入到'目标表',但两句又有区别的: 第一句(select into from)要求目标表不存在, ...

  8. .NET 11 个 Visual Studio 代码性能分析工具

    原文地址 软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行 ...

  9. mysql 物理数据存放

    报错误:1030 - Got error 28 from storage engine 3.在系统中查看/tmp是否已经满了: [root@localhost /]# df /tmp/ Filesys ...

  10. HTML Entity 字符实体(字符转义)

    目录 1. HTML Entity 2. 字符与Entity Name的互相转换 3. 字符与Entity Number的互相转换 1. HTML Entity 1.1 介绍 在编写HTML页面时,需 ...