git 如何恢复只是提交到本地的文件(或者commit)

今天早上傻逼了,把四天的代码commit到了本地,而后fetch一下,而后就全没了,不过git仍是挺强大的git

参考:http://blog.163.com/jiams_wang/blog/static/3033914920138179326885/服务器

git如何恢复本地删除的文件(还没执行 git commit)

直接从本地把文件checkout出来就能够了,用不着从远程服务器上pull下来,由于,全部的历史版本你的本地都有的。工具


具体作法 git checkout file 同时恢复多个被删除的文件:
git ls-files -d | xargs -i git checkout {}fetch

 

从Git仓库中恢复已删除的分支或丢失的commitspa

在使用Git的过程当中,有时可能会有一些误操做日志

 

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

 

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

 

这时,咱们能够经过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除class

 

通常状况下,gc对那些无用的object会保留很长时间后才清除的object

 

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

 

可使用git reflog show或git log -g命令来看到全部的操做日志

 

 

 

恢复的过程很简单:

 

1. 经过git log -g命令来找到咱们须要恢复的信息对应的commitid,能够经过提交的时间和日期来辨别  <git reflog show>

 

2. 经过git branch recover_branch commitid 来创建一个新的分支

 

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

相关文章
相关标签/搜索