linux git删除的文件怎么还原,从Git仓库中恢复已删除的分支、文件或丢失的commit...

从Git仓库中恢复已删除的分支、文件或丢失的commit

在使用Git的过程中,有时可能会有一些误操作

比如:执行checkout -f 或 reset -hard 或 branch -d删除一个分支

结果造成本地(远程)的分支或某些commit丢失

可以通过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除

一般情况下,gc对那些无用的object会保留很长时间后才清除的

reflog是git提供的一个内部工具,用于记录对git仓库进行的各种操作

可以使用git reflog show或git log -g命令来看到所有的操作日志

恢复的过程很简单:

1. 通过git log -g命令来找到我们需要恢复的信息对应的commit_id,可以通过提交的时间和日期来辨别。一个好的办法是运行:1、git log --since="2 weeks ago" -- myfile 可以2个星期期间的myfile历史;2、git log --branches="develop" 可以查看develop的commit

2. 通过git branch recover_branch[新分支] commit_id 来建立一个新的分支

这样,我们就把丢失的东西给恢复到了recover_branch分支上了。

Q:如果是不小心执行了git reset,还有办法取消吗?

A:git reflog 查看操作历史,找到之前 HEAD 的 hash 值,然后 git reset --hard 到那个 hash 即可。

Q:怎样找回历史版本中删除的文件?

A:先确定需要恢复的文件要恢复成哪一个历史版本(commit),假设那个版本号是: commit_id,那么

git checkout [commit_id] -- 就可以恢复

GitHub 使用教程图文详解

Git 标签管理详解

Git 分支管理详解

Git 远程仓库详解

Git 本地仓库(Repository)详解

Git 服务器搭建与客户端安装

Git 概述

GitLab 的详细介绍:请点这里

GitLab 的下载地址:请点这里

本文永久更新链接地址:

http://www.dengb.com/Linuxjc/885945.htmlwww.dengb.comtruehttp://www.dengb.com/Linuxjc/885945.htmlTechArticle从Git仓库中恢复已删除的分支、文件或丢失的commit 在使用Git的过程中,有时可能会有一些误操作 比如:执行checkout -f 或 reset -hard 或 branc...

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

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

相关文章

两张趣图助你理解状态码的含义~

HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。我们可以通过查看HTTP状态码来判断服务器状态,常见的有404 、502等;但是其他不是很常见的状态码都代表什么状态呢?下面有两张有趣的图片…

java 自定义注解以及获得注解的值

1.自定义注解 import java.lang.annotation.*;Documented Target(ElementType.FIELD) Inherited Retention(RetentionPolicy.RUNTIME ) public interface MyAnno {/*** 是否能为null* return*/boolean isCanNull() default true;/*** 是否能为空字符串* return*/boolean isCanE…

linux列出管道,lsof列出的管道列表示什么意思?_linux_开发99编程知识库

文件不僅以流形式打開。 其中一些是在 lsof 手冊中列出的:FD is the File Descriptor number of the file or:cwd current working directory;Lnn library references (AIX);err FD information error (see NAME column);jld jail directory (FreeBSD);ltx shared l…

CSS一些实用的技巧

css 字体简写规则当使用css定义字体时你可能会这样做:font-size: 1em;line-height: 1.5em;font-weight: bold;font-style: italic;font-variant: small-caps;font-family: verdana,serif;事实上你可以简写这些属性:font: 1em/1.5em bold italic small-ca…

linux openssh升级8.1,Centos7利用rpm升级OpenSSH到openssh-8.1p1版本

由于近期安全事故频发,打算把机器OpenSSH升级到最新版本,找了一圈,发现分享的rpm包就到7.4版本,最新版已经到8.1.p1,所以博客自编译一个openssh-8.1p1的rpm包进行分享。检查环境:[roottest]# ssh -VOpenSSH…

《HTTP权威指南》 – 11.验证码和新鲜度

服务器应当告知客户端能够将内容缓存多长时间,在这个时间内就是新鲜的。服务器可以用这两个首部之一来提供信息: Expires(过期)Cache - Control(缓存控制)Expires首部 规定文档“过期”的具体时间&#xff…

产品经理必备神器推荐

欢迎关注我的公众号(同步更新文章):DoNet技术分享平台阅读原文工欲善其事,必先利其器,作为最追求极致体验的产品经理群体,手里有一件趁手的法器,工作起来才会有一种享受般的快感,最近…

野火linux底板设计,野火STM32F767套件(底板+核心板)

一、兑换形式1、电子芯吧客注册用户均可通过免费申请与硬件兑换两种方式进行申请试用2、免费申请形式为用户通过分享试用活动至好友,换取申请板卡一次试用资格3、硬件兑换方式为用户捐赠一块闲置板卡至电子芯吧客,换取申请板卡一次试用资格4、免费申请渠…

c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程

c builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程转载于:https://www.cnblogs.com/LittleTiger/p/5039245.html

JS关闭浏览器 (不弹出提示框)

如果网页不是通过脚本程序打开的(window.open()),调用window.close()脚本关闭窗口前,必须先将window.opener对象置为null,否则浏览器(IE7、IE8)会弹出一个确定关闭的对话框。<script…

天大18年c语言离线作业,天大18秋C语言程序设计在线作业一辅导资料.docx-资源下载在线文库www.lddoc.cn...

天大18秋《C语言程序设计》在线作业一辅导资料.docx天大 18 秋C 语言程序设计 在线作业一1、C 2、D 3、D 4、D 5、D 一、单选题共 40 题,100 分1、设有int a 31,0,3,3,4,5,6,7;,则 a21的值是 A3B5C6D4正确答案是C2、设 int a21,b021; 语句 printf“x,dn”,a,b;的输出…

AM335x(TQ335x)学习笔记——GPIO关键驱动移植

或按照S5PV210学习秩序。我们首先解决的关键问题。TQ335x有六个用户按钮,每个上、下、剩下、对、Enter和ESC。我想开始学习S5PV210当同一,写输入子系统驱动器的关键问题要解决,但浏览driver/input/keyboardgpio-keys.c,大体上看下…

程序员偷偷深爱的9个不良编程习惯

新媒体管家下面这9个编码习惯,虽然在编程规则中是被驳斥的,但我们很多人就是会不由自主地使用它们。我们曾经都做过这样的事情:当妈妈不注意的时候,偷偷地吃糖果零食,然后导致有了蛀牙。同样的,我们都违背过…

emacs c语言 自动补全,Emacs 与 C/C++ 代码自动补全

基于 Emacs 的 company 模式并配合 semantic 文法分析器,实现 Emacs 的 C/C 代码自动补全。关于 Emacs 的代码自动补全代码自动补全的功能,对于使用 Emacs 写代码的程序员而言其重要性不言而喻的,但是搜了一些所谓的 “Emacs 完美的 C 自动补…

linux(fedora) 下dvwa 建筑环境

linux(fedora)下dvwa组态 1.下载httpd,dvwa,mysql,mysqlserver, php-mysql,php 除了dvwa 这是外界进入下一官方网站。该服务通过休息install 安装 yum install httpd, mysql, php-mysql, php 假设出现安装的问题。能够先yum search xxx 2.安装完之后,检查安装的状…

c语言一元二次方程 ii(分支嵌套),C程序设计——求一元二次方程算法

要求:从键盘上输入一元二次方程的三个参数,编程判断并求一元二次方程的实根(a,b,c均为整数)算法分析:一元二次方程是只含有一个未知数,且未知数的最高次数是二次的多项式方程。一元二次方程经过整理都可化成一般形式axbxc0(a≠0)&…

程序员如何优雅度过一生的15个建议

首先,我要说明一下精彩的职业生涯应该是什么样。他们不是这样的一个线性图形,不是每过一个月你就会有对应的成长。(就算是普通的职业生涯也不会这样。你不会每个月都有提升。每个月你都会变的好一点,但是每次有提升都是大幅度的&a…

cocos2d-x游戏开发 跑酷(四) 关联与物理世界

原创。转载注明出处http://blog.csdn.net/dawn_moon/article/details/21451077 前面一节尽管实现了一个跑动的人物,可是他只不过一个精灵在运行一个跑动的帧动画而已。这一节我要实现精灵和物理世界关联。让这个人跟实际的Parkour一样,有实际体积&#x…

kmp算法的c语言,KMP算法 纯C实现

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我自己写的KMP算法:int nt[256];void get_next1(char* T, int next[], int tlen){int i 0;int j 1;next[0] -1;while( j {if ( T[i] T[j] ){next[j] 0;i;}else{next[j] i;i 0;}j;}}int Index_KMP1(char* S, cha…

MyBatis多条件查询

1.MyBatis多条件查询1.1&#xff1a;使用实体类 将参数封装成对象接口&#xff1a;public List<User> getUserListByUser(User user);Mapper映射文件&#xff1a;<select id"getUserListByUser" resultType"User" parameterType"User"…