Git指南 - 刚提的commit 怎么找不到了(游离分支)?

news2024/12/24 21:27:29

在有一次使用git时,我提交commit后,并未push,然后直接切到了当前分支的某个tag,最后我想切回来的时候,竟然找不到我刚才提交commit的节点了…

关联篇

  • Git指南 - 你该掌握的那些基础认知和首次配置
  • Git指南 - 项目实战中天天用的那些基础命令
  • Git指南 - 通过规范使用Git来证明你是一个牛牛
  • Git指南 - 我经常遇到的那些项目实战场景
  • Git项目实战 - 我遇到的那些Git问题是这么解决的
  • Git指南 - 刚提的commit 怎么找不到了(游离分支)?

小步阑珊,应好过固步不前

      • 问题场景
      • 解决方式
      • 游离分支

问题场景

具体有以下几步:

  1. 本地提交 commit 未 push
  2. 切换tag 或 分支
  3. 最后无法找到之前的commit节点,导致切不回最新的代码

解决方式

这种解决方式在我看来属于曲线救国,如果以后有更好的,我应该会再来补充

步骤1:通过 git reflog 查看当前分支的所有提交记录(惯性思维可能会直接用git log ,并不适用于当前场景)

在这里插入图片描述

步骤2:找到 commit 记录,基本就解决了一半问题; 接下来,新建分支,回滚代码

  • 上图 标红区域为 操作 git 后的 hash ,都是唯一的(我们需要切换到哪个节点,就需要用到对应节点的hash值)
  • 新建一条临时分支,用于存储最新节点最新代码

新建临时分支(一般会直接切换新建的分支)

 git checkout -b "tmpLiu"

就在临时分支中 git reset --hard 最新commit hash值

 git reset --hard e795...

步骤3:切换回之前的分支,合并临时分支(合并完成后,可删除临时分支)

切换分支

git checkout 之前分支

合并分支

git merge tmpLiu

Hint:下方的游离分支同该处的解决方式基本相同,只是多了一些示例,有不懂的话也可以去看看

最终解决

在这里插入图片描述


游离分支

在解决问题中 和 解决问题之后,我才发现原来这种操作涉及到游离分支的一些相关知识;
head指针处于游离状态,需要建立一个分支然后将它合并到master分支,最后删除那个临时分支即可。

别人遇到的场景同我稍有不同,是在提交代码时 git push xxx xxx 报错,但是解决方式相同,具体如下

git push origin dev ,报错:error: src refspec dev does not match any

在这里插入图片描述

从图中可以看出当前在 HEAD detached from origin/dev 分支下,此为游离分支,是匿名的

解决方式

  1. 查看在游离状态下提交的 最新commit号:执行 git reflog 命令或者执行 git branch -v 命令,两者其一即可
  • git reflog
  • git branch -v

可以看到最新commit号是:8708fbb(如果自我感觉 git branch -v 显示不全的话,可以直接用 git reflog

在这里插入图片描述

  1. 创建一个临时的分支,创建完成之后切换到该分支上查看一下
git branch temp 最新的commit号
//示例:  git branch temp 8708fbb 
  1. 切换到要合并的分支上
git checkout 要合并临时分支的分支名称
//示例: git checkout dev
  1. 合并分支
git merge temp
  1. 删除临时分支
git branch -d temp
  1. 推送合并后的分支到远程仓库
git push origin 分支名称:远程分支名称
//示例: git push origin dev
  1. 最后就不放图了,你可以在当前分支,直接通过 log 查看最终结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/698323.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app处理请求发送表单类型的数据

我在本地开发了一个分页的接口 这里 我设置的是 form-data 参数类型 要的是个表单类型的数据 然后呢 我按传统PC端的方式处理了数据 <template><view class "box"><view class"management"></view></view> </template…

QT Creator上位机学习(二)基础布局控件及信号与槽

c# 系列文章目录 文章目录 布局控件信号与槽第二种connect 程序图标使用技巧 布局控件 美化界面的时候&#xff0c;经常需要进行一些控件的布局&#xff0c;这时需要使用一些容器类。 在快捷栏出&#xff0c;也有一些布局设计的选择 如上图&#xff0c;其中涉及到几种编辑…

【图像软件篇】Windows最强大的截图贴图神器-Snipaste的优化设置

【图像软件篇】Windows最强大的截图贴图神器-Snipaste的优化设置 个人用户免费、开源&#xff0c;以及和剪贴板神器Ditto一样简单易用&#xff0c;默认设置上手够快&#xff0c;除了没有长截图和OCR功能&#xff0c;我觉得它已经做到了截图贴图软件的天花板&#xff1b;本文我…

Springboot的配置原理

一、起步依赖–Maven的依赖传递 原始基于Spring框架来运行&#xff0c;需要手动配置很多依赖项&#xff0c;而Springboot简化了基于Spring框架的开发–引入Springboot的起步依赖&#xff0c;里面引入了所有常见的Springboot的依赖&#xff0c;都是通过maven的依赖传递自动的传…

Redisson 延时队列 延时严重问题

延时队列原理我在这篇文章讲了 Redisson 延时队列 原理 详解 - 知乎 十分建议先把原理看了 我们一个项目是做消息推送的&#xff0c; 分钟量达到了几百万。需求是要设置5秒以上的延时推消息。 当初我想了几个方案&#xff1a; 定时器轮询数据库 mq做延时推送 redisson做延时推…

【微服务架构模式】微服务设计模式

这是微服务架构系列文章的第 3 篇 高可用性、可扩展性、故障恢复能力和性能是微服务的特征。您可以使用微服务架构模式来构建微服务应用程序&#xff0c;从而降低微服务失败的风险。 模式分为三层&#xff1a; 应用模式 应用程序模式解决了开发人员面临的问题&#xff0c;例如数…

应用面向对象思想进行Linux内核分析的优化方法

在分析Linux内核时&#xff0c;应用面向对象思想可以帮助我们更好地理解和组织内核代码。虽然Linux内核是用C语言编写的&#xff0c;并没有内置的面向对象机制&#xff0c;但我们可以通过一些方法来应用面向对象思想进行分析。 我这里刚好有嵌入式、单片机、plc的资料需要可以…

在线客服系统哪家好,2024五家常用客服系统权威测评

在线客服系统推荐哪家随着互联网的发展&#xff0c;人们沟通交流方式越来越趋向智能化。很多企业都会选择在线客服系统来提升员工效率和质量&#xff0c;而且还能为企业带来一个强大的销售平台。那么在线客服系统推荐哪家呢&#xff1f;首先我们要知道&#xff0c;在线客服系统…

DINO推理模块实现

如何将一个模型真正的投入应用呢&#xff1f;即我们常说的推理模块&#xff0c;前面博主已经介绍了如何使用DETR进行推理&#xff0c;今天博主则介绍DINO的推理实现过程&#xff1a; 其实在DINO的代码中已经给出了推理模块的实现&#xff0c;这里博主是将其流程进行梳理&#x…

w3af启动后提示“Traceback (most recent call last)”

第一次提示 /usr/bin/env: “python”: 没有那个文件或目录 一看这提示就是python目录没有引用对&#xff0c;所以建一个软链接 软连接参考&#xff1a;每天学命令-ln 软硬链接 | 夜云泊个人博客 命令如下 whereis python3 sudo ln -s /usr/bin/python3 /usr/bin/python 软…

OpenCV阈值处理(threshold函数、自适应阈值处理、Otsu处理)

目录 阈值处理 一.threshold函数 1.二值化阈值处理&#xff08;cv2.THRESH_BINARY&#xff09; 2.反二值化阈值处理&#xff08; cv2.THRESH_BINARY_INV&#xff09; 3.截断阈值化处理&#xff08;cv2.THRESH_TRUNC&#xff09; 4.超阈值零处理&#xff08;cv2.THRESH_TOZ…

chatgpt赋能python:Python遍历1到10:使用循环语句掌握基础编程技能

Python遍历1到10: 使用循环语句掌握基础编程技能 Python是一种高级的编程语言&#xff0c;常被用于大数据分析、机器学习、Web开发和自然语言处理。无论您是新手还是有经验的编程工程师&#xff0c;掌握Python基础编程技能是非常重要的&#xff0c;其中之一就是学习如何遍历1到…

【2022 JCR 期刊影响因子】(三)地学综合 (GEOSCIENCES, MULTIDISCIPLINARY)

原文链接&#xff1a; 【2022 JCR 期刊影响因子】&#xff08;三&#xff09;地学综合 微信公众号同步更新 地信学子GISer and Coder 2022 JCR 期刊影响因子刚刚发布&#xff0c;今年的影响因子只保留1位小数。地学综合领域的 SCIE 收录期刊的影响因子如下。 微信公众号同步更…

使用 Jetpack Compose 构建 Spacer

欢迎阅读本篇关于如何使用 Jetpack Compose 构建 Spacer 的博客。Jetpack Compose 是 Google 的现代 UI 工具包&#xff0c;主要用于构建 Android 界面。其声明式的设计使得 UI 开发更加简洁、直观。 一、什么是 Spacer&#xff1f; 在 UI 设计中&#xff0c;我们通常需要在不…

一、枚举类型——使用二维数组分发

我们发现每个枚举实例都持有一个固定的值&#xff08;基于它的声明顺序&#xff09;,该值由 ordinal() 方法生成&#xff0c;因此可以进一步简化该方案。使用一个二维数组将竞争者映射到结果&#xff0c;便可以实现最简单易懂的解决方案&#xff08;而且有可能是最快的&#xf…

抖音团购功能本地生活服务商开通

抖音团购功能对于本地生活服务商在市场上的前景是积极的&#xff0c;有以下几个方面的优势&#xff1a; 广泛的用户基础&#xff1a;抖音是全球范围内拥有庞大用户基础的社交媒体平台之一。通过在抖音上开展团购活动&#xff0c;可以接触到大量的活跃用户&#xff0c;提升品…

PHP 图书管理系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 图书管理系统 是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 源码下载 https://download.csdn.net/download/qq_41221322/87959622https://download…

adb shell top -m 10 -s 1 -d 1 -o %CPU,%MEM,TIME+,PID,COMMAND,CMDLINE

adb shell top -m 10 -s 1 -d 1 -o %CPU,%MEM,TIME,PID,COMMAND,CMDLINE adb shell top -m 10 -s 1 -d 1 -o %CPU,%MEM,TIME,PID,COMMAND,CMDLINE -m 进程数 -s 按照第几列排序&#xff0c;1是按照第一列排序。 -d delay 周期1秒 -o %CPU&#xff0c;cpu占比。 %MEM 内存占…

【OpenCV • c++】基础图像的绘制

&#x1f680; 个人简介&#xff1a;CSDN「博客新星」TOP 10 &#xff0c; C/C 领域新星创作者&#x1f49f; 作 者&#xff1a;锡兰_CC ❣️&#x1f4dd; 专 栏&#xff1a;【OpenCV • c】计算机视觉&#x1f308; 若有帮助&#xff0c;还请关注➕点赞➕收藏&#xff…

element form表单触发校验

未操作情况下&#xff0c;表单触发校验&#xff0c;此时需要清除这一项 一定要在数据处理完后在进行清除校验&#xff0c;否则会不生效 this.form result;if (!this.form.item5List) {this.$nextTick(() > {this.$refs.form.clearValidate(item5List)})}