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

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 里的内容还原到暂存区

相关文章:

  • 从零开始掌握Linux数据流:管道与重定向完全指南
  • 支持Function Call的本地ollama模型对比评测-》开发代理agent
  • 工业排风轴流风机:强劲动力与节能设计的完美融合
  • websheet 之 VUE使用
  • 基于 Netmiko 的网络设备自动化操作
  • 【器件专题1——IGBT第2讲】IGBT 基本工作原理:从结构到特性,一文解析 “电力电子心脏” 的核心机制
  • 人工智能与机器学习:Python从零实现性回归模型
  • react和vue的区别之一
  • 【Mybatis】MyBatisPlus的saveBatch真的是批量插入吗?深度解析与性能优化
  • 全球玻璃纸市场深度洞察:环保浪潮下的材料革命与产业重构(2025-2031)
  • 算法 | 基于SSA-CNN-LSTM(麻雀算法优化卷积长短期记忆神经网络)的股票价格预测(附完整matlab代码,公式,原理,可用于毕业论文设计)
  • 【持续更新】 CDC 跨时钟域处理
  • 解读《数据资产质量评估实施规则》:企业数据资产认证落地的关键指南
  • 数据挖掘技术与应用课程论文——数据挖掘中的聚类分析方法及其应用研究
  • 从原生检索到异构图:Native RAG、GraphRAG 与 NodeRAG 架构全景解析
  • 高效使用DeepSeek对“情境+ 对象 +问题“型课题进行开题!
  • JavaScript学习教程,从入门到精通,Ajax数据交换格式与跨域处理(26)
  • PubMed PDF下载 cloudpmc-viewer-pow逆向
  • 深入了解C# List集合及两种常见排序算法:插入排序与堆排序
  • 神经符号混合与跨模态对齐:Manus AI如何重构多语言手写识别的技术边界
  • 在黄岩朵云书院,邂逅陈丹燕与月季花的故事
  • 我国首次实现地月距离尺度卫星激光测距
  • 专访倪军:人要有终身学习能力,一张文凭无法像以往支撑那么多年
  • 新华视点丨广西抗旱一线调查
  • 《哪吒之魔童降世》电影版权方诉《仙侠神域》游戏运营方侵权案开庭
  • 广东东莞调整普通住宅价格标准:一类镇街上浮300余元/平方米