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...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值