从Git仓库中恢复已删除的分支、文件或丢失的commit
来源:互联网 发布:java静态变量默认值 编辑:程序博客网 时间:2024/04/29 17:32
在使用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] -- <path_to_file>就可以恢复。
- 从Git仓库中恢复已删除的分支、文件或丢失的commit
- 从Git仓库中恢复已删除的分支、文件或丢失的commit
- 从Git仓库中恢复已删除的分支、文件或丢失的commit
- 从Git仓库中恢复已删除的分支、文件或丢失的commit
- 从Git仓库中恢复已删除的分支、文件或丢失的commit
- 从Git仓库中恢复已删除的分支或丢失的commit
- 从Git仓库中恢复已删除的分支或丢失的commit
- 从Git仓库中恢复已删除的分支或丢失的commit
- 解决SVN误操作--使用Git仓库中恢复已删除的分支、文件或丢失的操作
- 从git仓库中删除误提交的文件
- git恢复删除的分支
- git中如何将已commit的代码commit到其它分支
- git reflog 恢复删除的commit
- 删除git远程仓库上面的分支
- Git删除远程仓库的文件或目录
- git删除远程仓库的文件或目录
- git 恢复本地仓库删除的代码
- 27.开源项目--git恢复已删除分支的提交
- 在WinCE下调用校准触摸屏的API和源代码
- 核心技术 卷1 笔记
- 服务端与客户端跳转的区别
- 第七章 C控制语句:分支和跳转
- 关于github开源项目Context-Menu.Android详解
- 从Git仓库中恢复已删除的分支、文件或丢失的commit
- Extjs6的Application Architecture(应用架构)介绍
- javascript学习
- Ratingbar UseGuide
- 对称的二叉树判断
- My97DatePicker两个日期范围不超过30天,第一个小于第二个,都不大于当前日期
- android 补间动画TranslateAnimation
- 黑马程序员--内部类、Object类
- ffmpeg 结构体之间的关系