我们在 git 使用的过程当中,经常会遇到各种情况。下面这种情况,就是我在实际操作的时候,遇到的一个场景:

我在 本地仓库当中, 提交过一份代码,但是代码还没有上传到网络远程仓库。
现在,我自己不小心删除了之前提交的本地仓库记录,
可是眼下这个 本地提交的记录,我还是很需要的,这种情况下应该怎么处理呢?

大白话解释:误删了尚未提交到远程的,本地提交记录。需要找回?

思路说明

可以找到 git 的内部的提交历史,以当前的提交历史,创建一个新的分支,在这个分支当中,包含着我们前面 误删的代码。
然后我们在以这个 新分支 和 原始的分支进行 合并。

具体步骤如下:
1、通过历史,查找到 git 的提交 hash 版本号
2、以 hash 版本号,创建一个新的分支
3、合并新分支到目前使用的分支当中
4、删除新的分支

相关指令

  1. 查看提交记录的操作,找到需要记录的hash值

git reflog
  1. 通过hash值,创建本地新分支的指令

git branch my_new_branch "hash值"
  1. 合并新分支到当前分支的指令

git merge my_new_branch
  1. 删除新分支的指令

git branch -d my_new_branch

这样下来数据就恢复了