当前位置: 首页 > article >正文

git版本回退 | 远程仓库的回退 (附实战Demo)

目录

  • 前言
  • 1. 基本知识
  • 2. Demo
  • 3. 彩蛋

前言

🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF

爬虫神器,无代码爬取,就来:bright.cn

本身暂存区有多个文件,但手快了,vscode一下子都提交了
(可我只想提交一个啊!)

为了防止走上我的老路,先带着基本知识才能进行实操!!

1. 基本知识

补充下这几个基本知识

🧾 一、git log:查看历史提交记录
🔹 作用:查看提交历史,帮助你找到 commit 的 hash 值或了解项目提交演变过程

🔹 常见用法:(命令进入之后,按q进行退出)

默认会显示详细的提交信息(commit ID、作者、时间、提交信息等)

git log

截图如下:

在这里插入图片描述

🔹 常用简化参数:

每个提交显示成一行:commit_id message,非常适合快速浏览历史

git log --oneline

截图如下:

在这里插入图片描述

图形化显示分支结构 + 简洁日志(推荐查看分支合并结构)

git log --graph --oneline --all

截图如下:

在这里插入图片描述

🔁 二、git reset:回退提交 (这个知识点要着重理解)
git reset 用于改变当前分支的指针位置,可以把代码状态退回到某个历史提交

🔹 三种模式:

模式保留工作区代码保留暂存区(index)用途和风险
–soft✅ 保留✅ 保留回退提交,但保留已暂存的更改(适合重写提交)
–mixed(默认)✅ 保留❌ 清除回退提交,并清除暂存区,保留工作目录
–hard❌ 丢弃❌ 丢弃回退提交+清除代码(危险!彻底删除修改)

🔹 常见例子:
回退最近一次提交,代码保持已暂存状态

git reset --soft HEAD~1

回退提交,清除暂存状态,代码回到“未提交”状态

git reset --mixed HEAD~1

回退提交,并丢弃所有代码修改。(慎用!)

git reset --hard HEAD~1

回退到指定 commit

git reset --hard <commit_id>

🧭 三、git reflog:记录 Git 所有 HEAD 移动记录
🔹 作用:reflog 记录了 所有的 HEAD 和分支变动,即使你已经 reset 或 hard 删除了 commit,也可以找回

🔹 用法:

git reflog

输出类似:

9d2b6b1 HEAD@{0}: reset: moving to HEAD~1
a8ef7c3 HEAD@{1}: commit: 修复 bug
1c5e3b9 HEAD@{2}: commit: 初始提交

如果误删了某次提交,可以使用 reflog 找到 commit ID,回退回来:

git reset --hard 9d2b6b1

2. Demo

如果已经push到仓库了,需要回退并保留代码到暂存区,具体如下:

git reset --soft HEAD~1  # 回退提交
git reset                # 把暂存区文件退到工作区

但是此时分支已经落后了,需要强制push一下才可!

在这里插入图片描述

之后提交个别文件即可,但
可能会出现出现:error: failed to push ... (non-fast-forward)

✅ 如果你确认要覆盖远程提交:

git push origin 分支名 --force

截图如下:

在这里插入图片描述

3. 彩蛋

一开始 git reset --hard强制回退,会清除我的暂存区!

这种情况怎么还原:
在这里插入图片描述

先通过git reflog

看到类似下面的内容:

a1b2c3d HEAD@{0}: reset: moving to 9a071d5d...
d4e5f6g HEAD@{1}: commit: 某某提交

这里,HEAD@{1} 就是你 reset 之前的位置

git reset --mixed HEAD@{1}

恢复 commit 状态

恢复暂存区内容

不会自动提交

💡 --mixed 可以把 commit 里的内容还原到暂存区

相关文章:

git版本回退 | 远程仓库的回退 (附实战Demo)

目录 前言1. 基本知识2. Demo3. 彩蛋 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 爬虫神器&#xff0c;无代码爬取&#xff0c;就来&#xff1a;bright.cn 本身暂存区有多个文件&#xff0c;但手快了&…...

STM32 的 GPIO和中断

GPIO的简单介绍 内部结构 施密特触发器&#xff08;TTL肖特基触发器&#xff09; 的工作原理&#xff1a; 施密特触发电路&#xff08;简称&#xff09;是一种波形整形电路&#xff0c;当任何波形的信号进入电路时&#xff0c;输出在正、负饱和之间跳动&#xff0c;产生方波或…...

【Python数据库编程实战】从SQL到ORM的完整指南

目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现案例1&#xff1a;SQLite基础操作案例2&#xff1a;MySQL连接池案例3&#xff1a;SQLAlchemy ORM …...

【因果推断】(二)CV中的应用

文章目录 因果表征学习因果图 (Causal Diagram)“后门准则”&#xff08;backdoor criterion&#xff09;和“前门准则”&#xff08;frontdoor criterion&#xff09;后门调整Visual Commonsense R-CNNCausal Intervention for Weakly-Supervised Semantic SegmentationCausal…...

分享Matlab成功安装Support Package硬件支持包的方法

分享Matlab成功安装Support Package硬件支持包的方法 文章目录 分享Matlab成功安装Support Package硬件支持包的方法一、 引言二、 操作步骤三、 附件资料四、总结 一、 引言 最近&#xff0c;我想学习基于Matlab simscape & Arduino实现硬件在环仿真&#xff0c;其中物理…...

电子级甲基氯硅烷

电子级甲基氯硅烷是一类高纯度有机硅化合物&#xff0c;主要用于半导体制造、光伏产业及高端电子材料领域。以下从技术特性、应用场景、生产工艺、市场动态及安全规范等方面展开分析&#xff1a; 一、核心特性与技术标准 高纯度要求 电子级甲基氯硅烷的纯度通常需达到99.99% 以…...

C语言面试高频题——define 和typedef 的区别?

1. 基本概念 (1) #define 定义&#xff1a;#define 是预处理指令&#xff0c;用于定义宏。作用&#xff1a;在编译之前进行文本替换。语法&#xff1a;#define 宏名 替换内容示例&#xff1a;#define PI 3.14159 #define SQUARE(x) ((x) * (x))(2) typedef 定义&#xff1a;…...

[FPGA基础] 原语简介篇

Xilinx FPGA 原语介绍指南 1. 引言 在 Xilinx FPGA 设计中&#xff0c;原语 (Primitives) 是 FPGA 硬件资源的最基本构建块&#xff0c;直接映射到 FPGA 的底层硬件结构。原语允许设计者以低级别方式控制硬件行为&#xff0c;优化性能、功耗和资源利用率。本文档基于 Xilinx …...

【金仓数据库征文】- 深耕国产数据库优化,筑牢用户体验新高度

目录 引言 一、性能优化&#xff1a;突破数据处理极限&#xff0c;提升运行效率 1.1 智能查询优化器&#xff1a;精准优化数据检索路径 1.2 并行处理技术&#xff1a;充分释放多核计算潜力 1.3 智能缓存机制&#xff1a;加速数据访问速度 二、稳定性提升&#xff1a;筑牢…...

热度大幅度下降,25西电经济与管理学院(考研录取情况)

1、经济与管理学院各个方向 2、经济与管理学院近三年复试分数线对比 学长、学姐分析 由表可看出&#xff1a; 1、应用经济及学25年相较于24年下降25分&#xff0c;为325分 2、管理科学与工程25年相较于24年保持不变&#xff0c;为375分 3、工商管理学25年相较于24年下降5分…...

安卓四大组件之ContentProvider

目录 实现步骤 代码分析 onCreate insert query ContextHolder Cursor 作用与用法 基本步骤&#xff1a; 可能的面试题&#xff1a;为什么使用Cursor&#xff1f; 为什么使用Cursor 使用Cursor的好处 静态内部类实现单例模式 AnndroidManifest.xml配置信息 注释的…...

DeepSeek+Mermaid:轻松实现可视化图表自动化生成(附实战演练)

目录 一、引言&#xff1a;AI 与图表的梦幻联动二、DeepSeek&#xff1a;大语言模型新星崛起2.1 DeepSeek 全面剖析2.2 多场景应用示例2.2.1 文本生成2.2.2 代码编写 三、Mermaid&#xff1a;代码式图表绘制专家3.1 Mermaid 基础探秘3.2 语法与图表类型详解3.2.1 流程图&#x…...

redis客户端库redis++在嵌入式Linux下的交叉编译及使用

在开发过程中&#xff0c;我们经常会遇到需要在嵌入式Linux系统上与Redis进行交互的需求。因此选择一个适合的Redis客户端库就显得尤为重要。下面介绍下c中有名的redis-plus-plus&#xff08;redis&#xff09;三方库在嵌入式linux下的交叉编译及使用。该库底层是基于hiredis的…...

gitlab-ce容器镜像源(国内)

下载命令 docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitlab/gitlab-ce:17.10.4-ce.0 更多参考&#xff1a; https://docker.aityp.com/image/docker.io/gitlab/gitlab-ce:17.10.4-ce.0...

小白自学python第二天

学习python的第二天 一、判断语句 1、布尔类型和比较运算符 1、布尔类型 表示现实生活中的逻辑&#xff0c;真&#xff08;True&#xff0c;用数字1表示&#xff09;和假&#xff08;False&#xff0c;用数字0表示&#xff09; 2、布尔类型变量的定义 变量的名称 布尔类…...

嵌入式面试高频考点深度解析:内存管理、指针操作与结构体实战指南

试题一&#xff1a;大小端系统中数据的内存表现形式 题目 short tmp 0xaabb; 请分别写出大小端系统中&#xff0c;tmp 在内存中的表现形式。 分析 1. 什么是高位与低位&#xff1f; 对于一个数据而言&#xff0c;以十六进制数 0xaabb 为例&#xff0c;从左至右&#xff0…...

ApplicationRunner的run方法与@PostConstruct注解

ApplicationRunner 的 run 方法与 PostConstruct 注解在 Spring Boot 中均用于初始化逻辑&#xff0c;但二者的 执行时机、作用范围 和 功能特性 存在显著差异。以下是详细对比分析&#xff1a; 一、核心差异对比 维度PostConstructApplicationRunner.run()触发时机Bean 实例化…...

今日行情明日机会——20250425

指数依然在震荡&#xff0c;等待方向选择&#xff0c;整体量能不搞但个股红多绿少。 2025年4月25日涨停板行业方向分析如下&#xff1a; 一、核心行业方向及驱动逻辑 一季报增长&#xff08;17家涨停&#xff09; 核心个股&#xff1a;惠而浦、鸿博股份、卫星化学驱动逻辑&am…...

一道MySQL索引题

复合索引基础 MySQL中的复合索引(Composite Index)是指由多个列组成的索引。与单列索引不同、复合索引的结构更为复杂&#xff0c;但使用得当可以大幅提升查询性能。 复合索引的工作原理 复合索引的本质是一种有序的数据结、每个列是建立在那个索引前一列存在的情况下、那一…...

Python 读取 txt 文件详解 with ... open()

文章目录 1 概述1.1 注意事项1.2 模式说明1.3 文件准备 2 读文件2.1 读取整个文件2.2 逐行读取2.3 读取所有行到列表 3 写文件3.1 覆盖写入3.2 追加写入3.3 写入多行 4 实用技巧4.1 检查文件是否存在4.2 异常处理 1 概述 1.1 注意事项 文件编码&#xff1a;建议指定编码&…...

【linux】设置邮件发送告警功能

当服务器内存不足或者其他故障时&#xff0c;可以通过自动发送故障到邮箱进行提醒。 步骤&#xff1a; 以qq邮箱为例&#xff1a; 登录qq邮箱点击设置 点击账号后&#xff0c;往下翻 找到POP3/IMAP...开启服务 复制授权码 安装邮箱功能 编辑/etc/s-nail.rc 验证 …...

【手机】vivo手机应用声音分离方案

文章目录 前言方案 前言 尝试分离vivo手机音乐与其他应用的声音 方案 最佳方案&#xff1a;网易云音乐设置内关闭音量均衡 上传不同的白噪音&#xff0c;成功 goodlock&#xff0c;主要适用于三星手机&#xff0c;vivo不一定适用 app volume control &#xff0c;可行...

关于Safari浏览器在ios<16.3版本不支持正则表达式零宽断言的解决办法

异常原因 今天在升级Dify版本的时候发现低版本的ios手机出现了以下报错&#xff1a; SyntaxError: Invalid regular expression: invalid group specifier nameError: Invalid regular expression: invalid group specifier name Call Stack 46 eval [native code] (0:0) ./n…...

管理+技术”双轮驱动工业企业能源绿色转型

00序言 在“3060双碳”政策目标下&#xff0c;工业领域作为碳排放的主要来源&#xff08;占比约70%&#xff09;&#xff0c;国家出台《工业领域碳达峰实施方案》《加快推动制造业绿色化发展的指导意见》等文件&#xff0c;明确行业碳达峰时间表和重点任务&#xff0c;完善碳市…...

每天学一个 Linux 命令(30):cut

​​可访问网站查看,视觉品味拉满: http://www.616vip.cn/30/index.html cut 命令用于从文件或输入流中提取文本的特定部分(如列、字符或字节位置)。它常用于处理结构化数据(如 CSV、TSV)或按固定格式分割的文本。以下是详细说明和示例: 命令格式 cut [选项] [文件...]…...

智慧养老综合实训室规划与实施:产教融合的智慧养老实践

智慧养老综合实训室作为智慧养老、智慧康养产业发展的关键支撑&#xff0c;深度融合物联网、大数据、人工智能等前沿技术&#xff0c;搭建虚实结合的教学场景&#xff0c;依托DeepSeek知识库模型实现知识的高效转化与创新&#xff0c;旨在打造产教融合的实践平台&#xff0c;为…...

华为设备命令部分精简分类汇总示例

华为网络设备的命令体系庞大且复杂&#xff0c;不同设备系列&#xff08;如交换机、路由器、防火墙&#xff09;和不同操作系统版本&#xff08;如VRP5、VRP8&#xff09;的命令可能存在差异。以下是一个 精简分类汇总&#xff0c;涵盖常用配置场景和命令示例&#xff1a; 一、…...

JAVA | 聚焦 OutOfMemoryError 异常

个人主页 文章专栏 在正文开始前&#xff0c;我想多说几句&#xff0c;也就是吐苦水吧…最近这段时间一直想写点东西&#xff0c;停下来反思思考一下。 心中万言&#xff0c;真正执笔时又不知先写些什么。通常这个时候&#xff0c;我都会随便写写&#xff0c;文风极像散文&…...

Operating System 实验二 内存管理实验

目录 实验目标: 实验设备: 实验内容: (1)验证FIFO和Stack LRU页面置换算法 【代码(注释率不低于30%)】 【实验过程(截图)】 【结论】 (2)分别用FIFO和Stack LRU页置换算法,自己设定一个页面引用序列,绘制页错误次数和可用页帧总数的曲线并对比(可用Excel绘…...

CF-Hero:自动绕过CDN找真实ip地址

CF-Hero&#xff1a;自动绕过CDN找真实ip地址 CF-Hero 是一个全面的侦察工具&#xff0c;用于发现受 Cloudflare 保护的 Web 应用程序的真实 IP 地址。它通过各种方法执行多源情报收集。目前仅支持Cloudflare的cdn服务查找真实ip&#xff0c;但从原理上来说查找方法都是通用的…...