美文网首页开源工具技巧Git使用
本地git分支被误删,如何找到该分支的提交记录和代码?

本地git分支被误删,如何找到该分支的提交记录和代码?

作者: 不思量q | 来源:发表于2019-08-07 09:03 被阅读3次

    题目本来是这样的:如果一个实习生,他本地git的xxx分支被误删了, xxx分支代码没有被push到远程,如何找到之前xxx分支的提交记录和代码?


    看着这题目有点意思,就顺手操作了一下,一顿操作猛如虎……

    1. 首先clone一份Git仓库代码下来,直接上我的gitdemo仓库地址:https://github.com/2oops/gitdemo.git

    2. clone下来之后,做下修改,然后addcommit到本地,如下图

      image.png
    3. 注意上面是在xxx分支做的操作,现在git branch -a查看下分支,然后git checkout master切换分支(注:如果没有commit就去切换分支是会报错的,而且切换不了),切换完之后,我们强制删除这个xxx分支(可以试试git branch -d xxx-d删不动),如图

      image.png
      image.png
      4.删除分支后,本地的更改的代码是没有了的,现在我们使用git log -g查看提交记录 (注意和git log -a的区别)
      image.png
    4. 现在我们可以拿到xxx分支提交代码到本地的那条记录的hash值(暂且称之为A),然后执行git branch recover-xxx A(注意这里recover-xxx是本地新建分支的名字,不是已删除的xxx分支,而且建议不要使用之前的分支名)

      image.png
      到这里我们可以看到之前xxx分支修改的代码已经找回来了。

    总结一下:
    1. 查看记录: git log -a
    2. 找到提交的hash值A, git branch new-branch A

    相关文章

      网友评论

        本文标题:本地git分支被误删,如何找到该分支的提交记录和代码?

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