美文网首页Git
Git之不明觉厉10-都留下了痕迹

Git之不明觉厉10-都留下了痕迹

作者: 转角遇见一直熊 | 来源:发表于2016-03-04 14:57 被阅读105次

    git还有很多功能,不过我们最想要的可能是git能保证我们文件的安全,不要丢失我们的数据,这时候可以使用REFLOG功能。如果想要了解的更深入可以查看refs-and-the-reflog,这里我们就看看怎么用的好了。看看一下场景:

    找回丢失的commit

    1. 使用log命令查看当前commit历史


      log
    2. reset修改
    git reset --hard HEAD^
    

    这时候我们的commit已经没啦

    1. 使用reflog
    git reflog
    5937df4 HEAD@{0}: reset: moving to HEAD^
    c2974a2 HEAD@{1}: commit: add reflog.txt
    
    reflog

    我们可以看到,reflog保存了另一份日志,做了啥操作git都记录了


    reflog说明
    1. 恢复
    git reset --hard HEAD@{1}
    

    丢失的commit找回来了。注意reflog只保存在你自己的机器上。我们恢复的可是HEAD@{1}

    找回丢失的分支

    我们切换回master分支,并删除一个分支,假定名字叫reflog,我们要怎么找回它呢。实际上只要找到原来分支的tip commit就可以了。来看看吧。

    1. 不小心删除一个分支
      git branch -D reflog
    2. 找到想要的commit
      也可以使用git log --walk-reflogs去查看reflog
      reflog 我们想要的是第二个commit
    3. 重建分支
    git branch reflogs HEAD@{1}
    
    1. 检查分支是否重建好了


      branch
    2. 检查分支log
      可以看到这个branch和原来的一模一样啊


      原来的commit还在

    相关文章

      网友评论

        本文标题:Git之不明觉厉10-都留下了痕迹

        本文链接:https://www.haomeiwen.com/subject/ydyokttx.html