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

在有一次使用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 查看最终结果

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

青大数据结构【2018】【综合应用】

关键字: 二叉排序树、先序中序排列、平均查找长度ASL、快速排序、堆排序 (3) 采用堆排序; 因为快速排序在基本有序(逆序)的情况下,达到最坏的时间复杂度O(n2)。

如何支持研发对CSDN个性化推荐系统重构

目录 大地图工具构建数据治理保持发布重视测试小结引用 一个以内容服务为主的软件,它的推荐系统在数据侧对软件产生着举足轻重的作用。数据的三个方面决定了这个内容软件的档次。 数据的质量好坏数据和用户需求的相关性好坏数据的层次体系好坏 通常,我…

如何使用ChatGPT处理excel

用ChatGPT处理excel,我们需要用到的主要工具是ChatGPT和vba代码。 VBA代码是一种用于Excel,Word,PPT的Microsoft Office软件的编程语言。 可以让用户通过编写一些简单的指令和操作,实现自动化、自定义和数据处理等功能。 就像你编…

2023亚马逊云科技中国峰会之Serverless

序言 Amazon Web Services,是Amazon.com推出的一系列云计算服务。 它提供了一系列的基础设施服务、平台服务和软件服务,希望可以帮助我们更轻松地构建和管理基于云的应用程序。 今天来学习一下 Serverless 本文会介绍以下六个模块: 为什么会…

如何画时序图

10年产品经理教你3步画好UML时序图,轻松掌握流程分析利器【建议收藏】 - 知乎 转自知乎 上次介绍了活动图,这次分享 UML 中,另一种流程分析利器——时序图。 以前每次要分析流程,我都会用活动图。直到有一次,我面对…

使用VuePress生成静态网站并部署到github

目录 第一步 安装VuePress第二步 书写博客第二步 部署到github 第一步 安装VuePress VuePress是一个基于Vue驱动的静态网站生成器 相关资料 文档:https://v1.vuepress.vuejs.org/zh/github: https://github.com/vuejs/vuepressvuepress-deploy: https://github.c…

什么是RabbitMQ?

RabbitMQ是一个由erlang开发的消息队列。消息队列用于应用间的异步协作。 2.RabbitMQ的组件 Message:由消息头和消息体组成。消息体是不透明的,而消息头则由一系列的可选属性组成,这些属性包括routing-key、priority、delivery-mode&#xff…

NoSQL之 Redis 配置与优化

目录 一、关系型数据库与非关系型数据库1.1 关系型数据库:1.2 非关系型数据库1.3 关系型数据库和非关系数据库的区别1.3.1 数据存储方式不同1.3.2 扩展方式不同1.3.3 对事务性的支持不同 1.4 非关系型数据库的产生背景1.5 总结 二、Redis介绍三、 Redis 的优点四、 …

【金融量化】如何筛选基金?

基金的评价与筛选 1 筛选步骤 1.1 股票型基金 (1)构建备选池 优先考虑股票配置较为稳定的基金,这样才能预估基金未来一段时间的表现,及其对基准股票指数的跟踪情况。因此,首先应该剔除那些仓位变化较大、本身在进行…

Tableau 和 Qlikview哪个更好用?

Tableau 和 Qlikview 是市场上用于分析数据的两种重要的 BI 工具,并配备了广泛的可视化效果。本文将全面概述每个工具,以及基于业务、技术和可视化三个主要类别的基本差异。每个公司都希望用最好的BI工具来处理大量数据。在这篇文章中,我们将…

基于OpenCV-车辆检测项目(简易版)

车辆检测 1.项目介绍2. 读取一段视频3.通过形态学处理识别车辆4.描画轮廓5. 车辆计数并显示 本项目使用的视频地址链接 1.项目介绍 对一个视频进行车辆数量的检测,用到的知识有视频的读取,滤波器,形态学,添加直线、文本&#xff…

实战-基于Jenkins+K8s构建DevOps平台(九)

实验步骤如下: 第一部分:安装持久化存储nfs 1、在k8s-master和k8s-node1上安装nfs服务 [rootk8s-master ~]# yum install nfs-utils -y [rootk8s-master ~]# systemctl start nfs [rootk8s-master ~]# systemctl enable nfs [rootk8s-node1 ~]# yum …

Java 集合继承关系图

Java 容器类库的用途是“保存对象”,并划分为两大类,序列Collection和健值对 Map Collection接口:一个独立元素的序列,衍生的2个子类接口 List接口:存储有序的、可重复的数据 实现类: ArrayList、LinkedList、Vector Set接口&am…

华为MateBook 16 2021款锐龙版R7(CREM-WFD9)(CREM-WFG9)原装出厂Win11系统工厂模式,恢复原厂系统

HUAWEI华为笔记本电脑,MateBook 16 2021款 锐龙版 R7(CREM-WFD9) (CREM-WFG9) 原厂Windows11系统,带F10恢复功能,原装OEM专用系统,恢复出厂状态 系统自带所有驱动、出厂主题壁纸LOGO、Office办公软件、华为电脑管家等预装程序 …

网络安全自学秘籍

前言 想学网络安全但是无从下手的小白看过来,非常系统的学习资料,无数小白看了这份资料都已经成功入门,涵盖多个网络安全知识点,我愿称之为网络安全自学宝典。 一、概念性知识 1、了解什么是网络安全 2、清楚法律法规 3、网络安…

【git】idea怎么去替换git的地址

git 打开git地址添加或者修改git地址 打开git地址 右击->git->repository->remotes 添加或者修改git地址

useReducer可配合react-redux方案

接下来 我们来看 useReducer 这个属性 配合 react-redux 就会非常好用 那么 我们编写一段这样代码 import React, { useState } from react;const ContDom () > {const [count, setCount] useState(0);return (<div>cont值{ count }<button onClick {()>{ …

【模块三:职业成长】38|能力维度三:如何提升解决跨领域冲突的能力?

你好&#xff0c;我是郭东白。今天我们来讨论架构师核心能力的第三个层次——解决跨领域冲突。 上节课我们讲了从程序员到兼职架构师的跨越&#xff0c;也就是如何搭建解决横向问题的能力。 不过&#xff0c;在兼职架构师这个角色中&#xff0c;架构能力是一个加分项&#xff…

远程访问VPN配置与验证实验:构建安全的远程连接

远程访问VPN配置与验证实验&#xff1a;构建安全的远程连接 【实验目的】 理解远程访问 VPN的含义。掌握远程访问 VPN的含义。掌握VPN Client软件的使用。验证配置。 【实验拓扑】 实验拓扑如下图所示。 实验拓扑 设备参数表如下表所示。 设备参数表 设备 接口 IP地址 …

AutoGPT 英文版安装过程

自从2022年11月chatGPT的发布3.0GPT大模型&#xff0c;在中国掀起一股AI学习热潮&#xff0c;国内百度2023年4月份发布文心一言&#xff0c;把AI推上另一个高潮&#xff0c;最直接的是问答&#xff0c;我输入一句话&#xff0c;AI帮生成一段文字或一个视频&#xff0c;但是国内…