Git 命令行教程:如何在 GitLab 中恢复已删除的分支

news2024/11/24 16:55:17

在软件开发过程中,版本控制是一个至关重要的环节。Git 是最流行的分布式版本控制系统之一,它能够帮助团队高效地管理代码。然而,有时候会发生意外,例如代码误合、错误的删除等情况,导致重要的开发分支本地和远程不慎被删除。本文将为您介绍如何使用 Git 命令行在 GitLab 中恢复已删除的分支,帮助您快速解决这类问题。

第一步 查看 Reflog

Reflog 记录了本地仓库中的引用更改历史,包括分支的删除。首先,进入您的项目根目录,并打开终端或命令行。运行以下命令查看分支的 Reflog:

git reflog

_20230722194119.png

在输出中,您将看到提交号(commit hash)以及删除分支之前的引用号。记住这个引用号,它将帮助您恢复被删除的分支。

第二步 恢复分支

现在,您已经有了删除分支之前的引用号,可以使用以下命令在本地仓库中恢复分支:

git checkout -b dev_xj d9244f1

dev_xj:你的分支名,可以和之前删除的一样,也可以重新命个名
d9244f1: 最后一次commit 的提交号或者引用号

_20230722194928.png

第三步 推送分支

如果您希望将恢复的分支同步到 GitLab 远程仓库,可以使用以下命令将分支推送到 GitLab:

git push origin dev_xj

注意事项

Git 会定期清理过期的 reflog 记录,以减少仓库大小。默认情况下,过期的 reflog 记录会在 90 天后被删除。如果需要修改过期时间,可以通过配置 gc.reflogExpire 和 gc.reflogExpireUnreachable 参数来调整

# 设置 reflog 记录的保留时间为 180 天
git config gc.reflogExpire 180.days

# 设置无法访问的 reflog 记录的保留时间为 180 天
git config gc.reflogExpireUnreachable 180.days

git commit -m “message” 描述建议

可以看到我们在恢复的过程中是根据提交message来找到,当我们开发的时候分支较多并且有bug修改的分支时我们不好定位提交号,我们示例中的message写的比较随意,是反例,家人们切勿模仿;编写良好的提交信息是一个良好的开发实践,它可以让你和其他开发人员更好地理解提交的目的和内容。以下是提交信息的规范模板和一些建议:

模板

<type>(<scope>): <subject>
<!-- 空行 -->
<body>
<!-- 空行 -->
<footer>

说明

字段必须描述
<type>修改类别
<scope>影响的范围(最好填写功能模块)
<subject>目的描述,不超过50个字符
<body>描述当前修改的行为详细信息或修改的目的
<footer>描述当前修改的标识(需求名称编号\bug名称编码等)

type 类型说明

说明
feat添加新特性
fix修复bug
docs仅仅修改了文档
conflict解决冲突
style仅仅修改了空格、格式缩进、逗号等等,不改变代码逻辑
refactor代码重构,没有添加新功能或者修复bug
test增加测试用例
other前面未提到的情况

示例:

git commit -m "
feat(用户管理):修改列表展示字段

- 用户管理列表添加性别展示
- 用户管理列表添加用户部门展示

用户管理列表展示优化需求(20230701)
";

建议使用git命令行commit

总结

版本控制是现代软件开发中不可或缺的环节。Git 提供了强大的版本控制功能,让开发团队能够高效协作。但当意外发生时,我们也有方法来解决问题。通过本文介绍的 Git 命令行恢复方法,您可以轻松地在 GitLab 中恢复已删除的分支。希望这篇文章对您有所帮助,祝您在代码管理过程中一帆风顺!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/786459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue2踩坑之项目:v-if/else branches must use unique keys.

error: v-if/else branches must use unique keys. if 与 else 的 key 不能相同&#xff0c;在else标签里的key逐步加1 // if 与 else 的 key 不能相同 <div v-for"(item, index) in menuList" :key"item.id"><div v-if"item.name" :k…

js 操作符 in 的使用

1、判断对象中是否有某个属性&#xff0c;返回true/false let person {name: "小明", age: 18, year: 1998}; if ("age" in person){ //属性名必须是字符串形式&#xff0c;因为age不是一个变量console.log("person对象中含有age属性") } els…

(六)如何使用FLUX语言的文档

以下内容来自 尚硅谷&#xff0c;写这一系列的文章&#xff0c;主要是为了方便后续自己的查看&#xff0c;不用带着个PDF找来找去的&#xff0c;太麻烦&#xff01; 第 6 章 如何使用FLUX语言的文档 6.1 如何查看函数文档 1、这是FLUX语言的文档 https://docs.influxdata.com…

(七)FLUX查询InfluxDB

以下内容来自 尚硅谷&#xff0c;写这一系列的文章&#xff0c;主要是为了方便后续自己的查看&#xff0c;不用带着个PDF找来找去的&#xff0c;太麻烦&#xff01; 第 7 章 FLUX查询InfluxDB 7.1 前言 1、本节内容较为重要 7.2 FLUX查询InfluxDB的语法 1、使用FLUX语言查询…

AbstractMethodError: com.xx.serviceImpl.xxx method is abstract

今日一语&#xff1a; 其实我们没有必要和其他人进行比较&#xff0c;我们要比较的是昨天的自己 只有这样才能得到救赎和解脱&#xff0c;否则就是泥潭中跳跃&#xff0c;山谷中呐喊 在翻阅其他博主的博客时&#xff0c;似乎大多分享的是因为数据源驱动或者中间件的版本太高或者…

SpringCloud - 狂神学习笔记

1. 常见面试题 1.1 什么是微服务&#xff1f; 1.2 微服务之间是如何独立通讯的&#xff1f; 1.3 SpringCloud 和 Dubbo有那些区别&#xff1f; 1.4 SpringBoot 和 SpringCloud&#xff0c;请谈谈你对他们的理解 1.5 什么是服务熔断&#xff1f;什么是服务降级&#xff1f;…

微调模型来完成热狗识别的图像分类任务

我们来实践一个具体的例子&#xff1a;热狗识别。将基于一个小数据集对在ImageNet数据集上训练好的ResNet模型进行微调。该小数据集含有数千张热狗或者其他事物的图像。我们将使用微调得到的模型来识别一张图像中是否包含热狗。 首先&#xff0c;导入实验所需的工具包。 impo…

“铸网-2023” | 持续保障江西省实网应急演练

​​日前&#xff0c;由江西省工业和信息化厅主办&#xff0c;江西省网络安全研究院承办&#xff0c;南京赛宁信息技术有限公司协办并提供全程技术支撑的“铸网-2023”江西省工业领域网络安全实网应急演练在江西南昌圆满收官。 一、应急演练43天 赛宁持续助推工业企业应急能力…

论文精度系列之详解图神经网络

论文地址:A Gentle Introduction to Graph Neural Networks 翻译:图表就在我们身边;现实世界的对象通常根据它们与其他事物的连接来定义。一组对象以及它们之间的连接自然地表示为图形。十多年来&#xff0c;研究人员已经开发了对图数据进行操作的神经网络&#xff08;称为图神…

二叉树题目:从根到叶的二进制数之和

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;从根到叶的二进制数之和 出处&#xff1a;1022. 从根到叶的二进制数之和 难度 3 级 题目描述 要求 给你二叉树…

vue权限按钮的实现

鉴权函数 由于下面几种方式都需要用到鉴权函数&#xff0c;所以将其放置在组件外面&#xff0c;供组件或其他文件调用。 // src/utils/hasPermission.jsimport { usePermissionStore } from /stores import array from lodash/array export const hasPermission (value, def…

火车头采集文章批量伪原创【php源码】

火车头采集是一款基于Python语言开发的网络爬虫工具&#xff0c;用于快速高效地从互联网上采集数据并存储到本地或远程数据库。它简单易用且功能强大&#xff0c;在各行各业广泛应用。 火车头采集器AI伪原创PHP源码&#xff1a; <?php header("Content-type: text/h…

C# WPF项目创建(基于VS 2019介绍)

1.打开VS&#xff0c;选择《创建新项目》 2.选择《WPF应用程序》&#xff0c;如图 3. 项目名称根据需求自行命名&#xff0c;这边以“WpfApp1”来命名&#xff0c;位置自行选择&#xff0c;这边选择了"E:\test"&#xff0c;如图所示&#xff0c;“将解决方案和项目…

【广州华锐互动】VR模拟灭火逃生体验系统

VR模拟灭火逃生体验系统由广州华锐互动开发&#xff0c;是一种基于虚拟现实技术的应急演练与培训系统&#xff0c;可以真实模拟消防逃生场景&#xff0c;让体验者在沉浸式的虚拟环境中&#xff0c;根据正确的消防逃生方法提示&#xff0c;进行自救演练。这种科学普及方法是更加…

datafree KD CVPR2023 学习笔记(Abstract)

这个 是摘要的前部分 摘要 简单的提及 无数据的蒸馏 是怎么样的 和普通的蒸馏有一个本质的区别&#xff1a;没有训练数据 很火啊 最近 在对抗性的蒸馏框架中呢 存在一个问题 由于多个生成器生成的 非平稳分布的pseudo-samples 导致了学生网络的性能不好 提出一个解决方案的i…

Docker——数据管理与网络通信

Docker——数据管理与网络通信 一、Docker 的数据管理1&#xff0e;数据卷2&#xff0e;数据卷容器 二、端口映射三、容器互联&#xff08;使用centos镜像&#xff09;四、Docker 镜像的创建1&#xff0e;基于现有镜像创建1.1 首先启动一个镜像&#xff0c;在容器里做修改1.2 然…

如何搭建使用dubbo-Admin?

dubbo-Admin介绍 一款用于dubbo可视化界面操作的管理平台 dubbo-Admin特点 dubbo-Admin是dubbo的管理界面平台&#xff0c;且是一个前后端分离的项目&#xff0c;前端使用vue&#xff0c;后端使用springboot。 软件下载 dubbo-admin-0.5.0.zip 软件使用

Java文件的相对路径规则

前言 最近做项目&#xff0c;又涉及到Linux Java文件的相对路径&#xff0c;但是相对路径在不同的服务器或者docker上居然不一样&#xff0c;这个就很难受&#xff0c;只能用绝对路径解决&#xff0c;因为绝对路径是固定的路径&#xff0c;但是相对路径为什么会在不同的服务器…

将pdf转换成word怎么转换?掌握这几个转换方法就够了

将pdf转换成word怎么转换&#xff1f;将 PDF 转换成 Word 文档是一个常见的需求&#xff0c;我们需要编辑 PDF 文件中的文字内容&#xff0c;但是 PDF 文件并不方便直接编辑。下面介绍几个转换方法。 方法一&#xff1a;使用迅捷 PDF 转换器 这是一款专业的 PDF 转换工具&…

【2023】HashMap详细源码分析解读

前言 在弄清楚HashMap之前先介绍一下使用到的数据结构&#xff0c;在jdk1.8之后HashMap中为了优化效率加入了红黑树这种数据结构。 树 在计算机科学中&#xff0c;树&#xff08;英语&#xff1a;tree&#xff09;是一种抽象数据类型&#xff08;ADT&#xff09;或是实作这种…