【git】【reset全解】Git 回到上次提交并处理提交内容的不同方式

Git 回到上次提交并处理提交内容的不同方式

在 Git 中,若要回到上次提交并对提交内容进行不同处理,可使用 git reset 命令搭配不同选项来实现。以下为你详细介绍操作步骤及各选项的作用。

1. 查看提交历史

在操作之前,可通过以下命令查看提交历史,确认当前所处的提交位置以及上次提交的相关信息:

git log --oneline

该命令会以简洁的格式展示提交历史,每行包含一个提交的哈希值和提交信息。

2. 使用 git reset 命令及不同选项处理

2.1 --soft 选项

git reset --soft HEAD^
  • 作用--soft 选项只会移动 HEAD 指针,将其指向指定的提交(这里 HEAD^ 表示当前提交的上一个提交),而不会改变工作区和暂存区的内容,并且会把指定提交之后的所有更改重新放回暂存区。
  • 适用场景:当你不小心提交了代码,但后续还想基于这些更改进行调整后再提交,就可以使用该选项。

2.2 --mixed 选项(默认选项)

git reset --mixed HEAD^
# 等同于
git reset HEAD^
  • 作用--mixed 选项会移动 HEAD 指针到指定提交,同时重置暂存区,使其与指定提交一致,但工作区的内容不会改变。也就是说,提交之后的更改会从暂存区移除,但仍保留在工作区。
  • 适用场景:当你提交了代码,但又想修改一些文件后再重新提交,此时可以使用该选项将更改从暂存区移除,在工作区修改后再重新添加到暂存区进行提交。

2.3 --hard 选项

git reset --hard HEAD^
  • 作用--hard 选项会移动 HEAD 指针到指定提交,同时重置暂存区和工作区,使其都与指定提交一致。这意味着指定提交之后的所有更改都会被彻底丢弃,无法恢复(除非有备份或能从其他引用中找回)。
  • 适用场景:当你确定不再需要指定提交之后的更改,想要彻底回到之前的某个提交状态时,可以使用该选项。但使用时需谨慎,因为数据一旦丢失可能无法找回。

3. 查看操作结果

操作完成后,可使用以下命令查看状态:

git status

通过该命令可以清楚地看到工作区和暂存区的状态,以便决定后续的操作。

根据不同的需求,可以选择不同的 git reset 选项来回到上次提交并处理提交内容。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 11【1001问】Windows 11 都有哪些版本?

随着Windows 11的普及,越来越多的用户开始关注其不同版本及其分支版本之间的差异。在此之前,我们已经通过一系列文章详细介绍了Windows 11的基本概念、硬件配置要求、系统镜像下载方法以及多种安装方式。从使用Rufus和UltraISO软碟通制作Windows 11系统安…

【Kimi】自动生成PPT-并支持下载和在线编辑--全部免费

【Kimi】免费生成PPT并免费下载 用了好几个大模型,有些能生成PPT内容; 有些能生成PPT,但下载需要付费; 目前只有Kimi生成的PPT,能选择模板、能在线编辑、能下载,关键全部免费! 一、用kimi生成PP…

【Java项目】基于Spring Boot的旅游管理系统

【Java项目】基于Spring Boot的旅游管理系统 技术简介:采用Java技术、Spring Boot框架、MySQL数据库等实现。 系统简介:旅游管理系统是一个基于Web的在线平台,主要分为前台和后台两大功能模块。前台功能模块包括(1)首…

Deepseek开源周第三天:DeepGEMM发布

Deepseek开源周第三天:DeepGEMM发布 前言 上周deepseek宣布,将在本周陆续发布五个开源项目,这些库已经在生产环境中经过了记录、部署和实战测试。 今天是deepseek开源周的第三天,deepseek发布了一个名为 DeepGEMM 的项目&#x…

ALM研发管理:全新甘特图,让项目管理更高效

在软件开发领域,甘特图一直是项目管理的重要工具。通过可视化的任务时间线,清晰地展示项目的进度和关键时间节点,帮助团队成员快速理解项目状态,协调工作进度,从而有效提升项目管理的效率。无论是需求分析、设计、开发…

mac os 使用 root 登录

打开系统偏好设置。进入“用户与群组”面板。点按锁按钮输入密码,再点最下面的登录选项。在右边面板的下方你会看见一行字:”网络账户服务器:加入 ”,点击加入,就可以打开目录实用工具了。 添加Root用户 正常情况下目…

【C++笔记】C++11智能指针的使用及其原理

【C笔记】C11智能指针的使用及其原理 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】C11智能指针的使用及其原理前言1.智能指针的使用场景分析2. RAII和智能指针的设计思路3. C标准库智能指针的使用4. 智能指针的原…

SQL命令详解之操作数据库

操作数据库 SQL是用于管理和操作关系型数据库的标准语言。数据库操作是SQL的核心功能之一,主要用于创建、修改和删除数据库对象,如数据库、表、视图和索引等。以下是SQL中常见的数据库操作命令及其功能简介: 1. 查询数据库 查询所有的数据库…

轨迹控制--odrive的位置控制---负载设置

轨迹控制 此模式使您可以平滑地使电机旋转,从一个位置加速,匀速和减速到另一位置。 使用位置控制时,控制器只是试图尽可能快地到达设定点。 使用轨迹控制模式可以使您更灵活地调整反馈增益,以消除干扰,同时保持平稳的运…

mysql.gtid_executed表、gtid_executed变量、gtid_purged变量的修改时机

1.2 mysql.gtid_executed表、gtid_executed变量、gtid_purged变量的修改时机 1.2.1 定义 mysql.gtid_executed表:GTID持久化的介质,GTID模块初始化的时候会读取这个表作为获取gtid_executed变量的基础。 gtid_executed变量:表示数据库中执行…

CONTACT 在 Ubuntu 系统中的安装与使用

CONTACT 概述 CONTACT 是研究三维摩擦接触问题的高级仿真程序,如轮轨之间、滚动轴承的接触问题。CONTACT 提供了完整且详细的解决方案,可集成到多体仿真软件中。其计算质量可与有限元分析相近,但计算时间仅为后者的千分之一。CONTACT 采用半…

C#连接sql server

连接时,出现如下提示: ERROR [IM014] [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配 原因是odbc的驱动和应用程序的架构不一致。我的odbc如下所示: 显示为64位,而c#程序显…

数据结构之各类排序算法代码及其详解

1. 排序的概念 排序是一种常见的算法概念,用于将一组数据按照特定的顺序进行排列。排序算法的目的是将一组数据按照递增或递减的顺序重新排列。常见的排序算法包括冒泡排序、插入排序、选择排序、快速排序、归并排序等。排序算法的选择通常取决于数据规模、数据分布…

山东大学软件学院人工智能导论实验之知识库推理

目录 实验目的: 实验代码: 实验内容: 实验结果 实验目的: 输入相应的条件,根据知识库推理得出相应的知识。 实验代码: def find_data(input_process_data_list):for epoch, data_process in enumerat…

【开源免费】基于SpringBoot+Vue.JS美食烹饪互动平台(JAVA毕业设计)

本文项目编号 T 219 ,文末自助获取源码 \color{red}{T219,文末自助获取源码} T219,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

在线VS离线TTS(语音合成芯片)有哪些优势-AIOT智能语音产品方案

离线 TTS 存在语音质量欠佳、音色选择有限、语言支持单一更新困难、占用资源多、适应性差、难以个性化定制等痛点 01更新维护困难 由于是离线模式,难以及时获取最新的语音数据和算法更新,无法得到持续改进。 02占用本地资源 需要在设备本地存储较大的…

530 Login fail. A secure connection is requiered(such as ssl)-java发送QQ邮箱(简单配置)

由于cs的csdN许多文章关于这方面的都是vip文章,而本文是免费的,希望广大网友觉得有帮助的可以多点赞和关注! QQ邮箱授权码到这里去开启 授权码是16位的字母,填入下面的mail.setting里面的pass里面 # 邮件服务器的SMTP地址 host…

SpringBoot整合Swagger

一、Swagger简介 Swagger 是一种 API 文档工具,可以通过生成 API 文档来提高开发者的工作效率,同时也可以提高 API 的可读性和可维护性。Spring Boot 可以与 Swagger 进行整合,以方便生成 API 文档。下面介绍一下如何使用 Spring Boot 整合 S…

【图形学入门笔记】线性代数的本质

【笔记未完待续】如果我的分享对你有帮助,请记得点赞关注不迷路。 视频源地址:https://www.youtube.com/watch?vfNk_zzaMoSs 作者:3Blue1Brown 此处仅做个人笔记使用。 01 - 向量究竟是什么? 线性代数中最基础、最根源的…

can数据记录仪在汽车路测中扮演着**关键角色*

can数据记录仪主要用于实时采集、存储和分析车辆运行中的多维度数据,帮助工程师优化车辆性能、验证安全性、改进驾驶体验,并支持法规合规性测试。 can数据记录仪在路测中扮演几个关键角色,如下, 动力系统监控:记录发…