热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

gitmaster代码被删除怎么恢复_Git恢复被删除的分支

可以恢复被删除的分支吗,答案是肯定的,否则Git就有点弱了。首先看一下当前项目的分支,代码如下:[Shell]纯文本查看复制

可以恢复被删除的分支吗,答案是肯定的,否则Git就有点弱了。

首先看一下当前项目的分支,代码如下:[Shell] 纯文本查看 $ git branch

代码运行效果截图如下:

有两个分支,下面切换到master执行对newBr分支的删除操作。

特别说明:不能够在当前分支删除分支本身。[Shell] 纯文本查看 $ git branch -d newBr

代码执行效果截图如下:

Git非常贴心,newBr没有合并都会报错,如果确实不想合并,可以强行删除:[Shell] 纯文本查看 $ git branch -D newBr

代码执行效果截图如下:

分支已经被成功删除掉,记住被删除分支所指向commit对象的sha-1值(a12b74f)。

一.恢复操作:

非常的简单,只要以a12b74f对象为基础再创建一个分支即可:[Shell] 纯文本查看 $ git branch newBr a12b74f

再看项目有哪些分支:[Shell] 纯文本查看 $ git branch

代码执行效果截图如下:

原来的分支又回来了,当然这个分支也可以用其他名字命名:[Shell] 纯文本查看 $ git branch ant a12b74f

如果忘记了commit对象的sha-1值,可以通过git reflog命令找回。

二.可以恢复的原因:

删除分支的本质,其实是删除了.git/refs/heads/目录下的一个与分支同名文件,文件内容是一个分支所指向commit对象的sha-1值。也就是说真正删除的并不是commit对象本身,更为形象的说就是揭掉贴在commit对象上的标签,当然我们可以再贴上一个标签。

更多内容可以参阅Git branch分支实质一章节。



推荐阅读
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • Git GitHub多人协作
    在学校做一个小项目需要多人协作,就用到了gitHub,百度了一下多数写得乱七八糟或者支离破碎,于是总结了一下自己的步骤如下,第一次使用GitHUb,哪里不对望大神指出一.前期准备: ... [详细]
  • 双十一在家学用 Git
    对于所有的开发者来说,掌握一门代码版本控制系统都是必须的,无论是自己做项目,团队合作,工作中的合作,都离不开版 ... [详细]
  • 第一种方法gitarchive-oupdate.zip$(gitdiffnew-versionold-version--name-only)此方法如果文件有删除,则 ... [详细]
  • 前言本篇为大家总结社区多人合作常见的场景和对应的git操作命令。本篇非新手教程,阅读本篇前需具备Git基础知识。Git入门教程请参考https://www ... [详细]
  • 编写一个简单的内核驱动模块时报错 “/lib/modules/3.13.032generic/bulid: 没有那个文件或目录。 停止。”...
    编写一个简单的内核驱动模块1staticinthello_init()2{3printk(“hello,Iaminkernelnow\n”);4return0;5}6voidadd ... [详细]
  • 打开文件管理器_【教程】模组管理器3.1食用指南
    文编:byakko最近有部分小伙伴反应还不会使用unity模组管理器,现在我就给大家讲一下unity模组管理器——从下载到使用。完整视频版以下是无WiF ... [详细]
  • Linux批量复制并重命名和批量复制文件到多个文件夹的方法
    本文介绍了在Linux系统下批量复制并重命名文件以及批量复制文件到多个文件夹的方法。通过使用模式匹配功能,可以方便地实现文件的批量操作。同时,还提供了有关shell语法中的()和{}的参考资料。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
author-avatar
捕风的yuhui_705
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有