git 本地分支误删,怎么恢复?误删本地已提交未推送的分支!

误删本地已提交未推送的分支!
前提: 已提交!
重点:未推送!

要是推送了,再拉一下代码就行了。你也不会来搜这个帖子了。

如果你删除的分支里有你未提交的代码,不用往下看了,帮不到你。

场景: 正开发代码呢,测试环境需要改bug,就提交了代码,但是没推送(规定:没开发完的代码不让推送)。改完test分支的代码后,删除本地test分支,手抖删成了dev分支(开发分支)。开发分支的代码没推送,再从服务器拉dev分支的代码就没了已提交未推送的代码了。

恢复步骤:

  1. 找到git日志的编号,7位字符的东西。
    1.1 如果你用的是idea编译器,又安装了git插件。不是的看1.2
    idea左下角的 Git点开,这个是你git的日志,找到你的那个 已提交 ,选中那个7位编码,复制下来,看第2步。

    1.2 用的其他工具,就只能翻日志了
    1. 打开终端 ,输入命令:git reflog --date=iso

      git reflog --date=iso 命令会显示你本地 Git 仓库的引用日志(reflog),并将每个条目的日期格式化为 ISO 8601 格式。这可以帮助你更清晰地看到提交的时间和历史记录。

      复制代码
      git reflog --date=iso 
    2. 找到你上次提交代码的记录,左边那7位编码,复制一下,跳到第2步

  1. 恢复分支

    复制代码
    git checkout -b <分支名> <commit ID>

    这个命令的作用是创建一个新分支并切换到该分支。具体来说:

    git checkout -b:表示创建一个新分支并立即切换到它。

    <分支名>:你想要创建的新分支的名称。

    :你希望新分支基于的具体提交的哈希值。

    因此,执行这个命令后,你会在指定的提交基础上创建一个新的分支,并且你的工作目录会切换到这个新分支上。

    再等几秒就行了!

相关推荐
vibecoding日记3 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记3 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger4 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思5 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat
杰哥技术分享5 天前
Git 仓库迁移技术文档:从 CODING.net 迁移至腾讯云 CNB
git
梅孔立5 天前
Ansible 100 台服务器一键管控实战 进阶版
服务器·git·ansible
qq_426003966 天前
git切换当前分支到远程分支
git
ON10N6 天前
100% 纯 Vibe Coding,我是怎么用 AI 撸出一个 VS Code 插件的
git·ai编程·visual studio code