误删本地已提交未推送的分支!
前提: 已提交!
重点:未推送!
要是推送了,再拉一下代码就行了。你也不会来搜这个帖子了。
如果你删除的分支里有你未提交的代码,不用往下看了,帮不到你。
场景: 正开发代码呢,测试环境需要改bug,就提交了代码,但是没推送(规定:没开发完的代码不让推送)。改完test分支的代码后,删除本地test分支,手抖删成了dev分支(开发分支)。开发分支的代码没推送,再从服务器拉dev分支的代码就没了已提交未推送的代码了。
恢复步骤:
- 找到git日志的编号,7位字符的东西。
1.1 如果你用的是idea编译器,又安装了git插件。不是的看1.2
idea左下角的 Git点开,这个是你git的日志,找到你的那个 已提交,选中那个7位编码,复制下来,看第2步。
1.2 用的其他工具,就只能翻日志了
-
-
打开终端,输入命令:git reflog --date=iso
git reflog --date=iso 命令会显示你本地 Git 仓库的引用日志(reflog),并将每个条目的日期格式化为 ISO 8601 格式。这可以帮助你更清晰地看到提交的时间和历史记录。git reflog --date=iso
-
找到你上次提交代码的记录,左边那7位编码,复制一下,跳到第2步
-
-
恢复分支
git checkout -b <分支名> <commit ID>
这个命令的作用是创建一个新分支并切换到该分支。具体来说:
git checkout -b:表示创建一个新分支并立即切换到它。
<分支名>:你想要创建的新分支的名称。
:你希望新分支基于的具体提交的哈希值。
因此,执行这个命令后,你会在指定的提交基础上创建一个新的分支,并且你的工作目录会切换到这个新分支上。
再等几秒就行了!