zoukankan      html  css  js  c++  java
  • git 删除分支如何恢复

    强制删除了一个分支而后又想重新使用这个分支,该怎么找回该分支上的代码呢?

    一:问题描述:

    今天师父说上线几个功能,让我把开发的分支推送到远程。当打开git就傻眼了,之前开发好的分支被我删除了,就连推送到远程的分支竟然都被删除了。

    二:恢复的操作过程:

    1. git log -g :显示已经commit信息

    如果commit的内容过多的话,我们可以进行过滤查找:
    git log -g --author="xx@qq.com"   // 根据用户名过滤,模糊匹配
    git log -g --grep "xx"  // 根据commit时候的提交信息查找,模糊匹配

    2. 根据commit信息,找到对应的commitId

    3. git branch new_branch  commitId,用这个commit创建一个新的分支

    这样,该新的分支,就保留了commitId对应的修改,我们可以使用git log 命令来查看是否正确

    补充:

    在执行第二步的时候,如果不行,可以执行:git fsck --full(文件系统检测),该命令显示所有未被其他对象引用 (指向) 的所有对象,查看改命令列举出的commit中有没有自己想要的commitId
    
    git fsck 相对reflog是有优势的。比方说你删除一个远程的分支然后关闭仓库。 用fsck 你可以搜索和恢复已删除的远程分支

    三:编辑器的Local History

     如果是在不行,尝试在编辑器的历史记录中,找到local history,看看能不能还原回来

     git乃神奇,这次见识到了它的强大。

    参考:

    https://git-scm.com/book/zh/v1/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-%E7%BB%B4%E6%8A%A4%E5%8F%8A%E6%95%B0%E6%8D%AE%E6%81%A2%E5%A4%8D

  • 相关阅读:
    JavaScript 教程
    C#基础实例
    Angularjs实例5
    Angularjs实例4
    Angularjs 数据过滤
    Angularjs实例3
    Angularjs 数据循环
    Angularjs模块
    Angularjs 数据双向绑定
    Angularjs实例应用
  • 原文地址:https://www.cnblogs.com/quan-coder/p/9036608.html
Copyright © 2011-2022 走看看