zoukankan      html  css  js  c++  java
  • git 如何恢复只是提交到本地的文件(或者commit)

    今天早上傻逼了,把四天的代码commit到了本地,然后fetch一下,然后就全没了,不过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 {}

    从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命令来找到我们需要恢复的信息对应的commitid,可以通过提交的时间和日期来辨别  <git reflog show>

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

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

  • 相关阅读:
    MySQL:procedure, function, cursor,handler
    Spring:ApplicationContext (2)
    Dojo: Quick Start
    Linux:常用命令
    Squirrel: 通用SQL、NoSQL客户端
    湖南师范大学邮箱申请及
    一文读懂基因测序技术的前世今生
    一 二 三代测序技术
    浅议基因测序技术的代际:后记
    浅议基因测序技术的代际
  • 原文地址:https://www.cnblogs.com/qwj-sysu/p/5109670.html
Copyright © 2011-2022 走看看