git撤销最近一次commit

在Git中,在撤销最近一次的提交时,有几种不同的方法,这取决于你想要的结果。下面是一些常见的方法:

1. 取消最近的提交(但不删除改动)
如果你想要取消最近的提交,但是保留这些改动,以便稍后再次提交,你可以使用git reset命令。

git reset --soft HEAD~1

这里,HEAD~1表示上一个提交,--soft选项会移动HEAD到上一个提交,但保留暂存区中的改动。

2. 取消最近的提交并撤销所有改动
如果你想要撤销最近的提交,并且撤销所有的改动,可以使用git reset命令结合--hard选项。注意:这会丢失所有未提交的改动,所以要谨慎使用。

git reset --hard HEAD~1

这会回退到上一个提交,并且丢弃当前分支上所有未提交的更改。

3. 取消最近的提交但保留改动在暂存区
如果你想要取消最近的提交,但是想要保留这些改动在暂存区中,以便稍后再次提交,可以使用git reset命令结合--mixed选项(这是默认选项)。

git reset --mixed HEAD~1

或者简单地使用:

git reset HEAD~1

因为--mixed是默认行为。

4. 取消最近的提交并创建一个新的提交(撤销更改但不删除)
如果你只是想撤销最近的提交的更改但不删除该提交(例如,如果你想在历史中留下一个记录),你可以使用git revert命令。

git revert HEAD


这会创建一个新的提交,这个新提交会撤销前一个提交的所有更改。这样你的历史记录中会保留两次提交:一次是原始的提交,一次是撤销那次提交的更改。

总结

使用git reset --soft HEAD~1来取消最近的提交但保留改动。

使用git reset --hard HEAD~1来取消最近的提交并丢弃所有改动。

使用git reset HEAD~1或git reset --mixed HEAD~1来取消最近的提交但保留改动在暂存区。

使用git revert HEAD来撤销最近的提交但不删除它,而是创建一个新的提交来抵消更改。

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

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

相关文章

解决Docker 配置 daemon.json文件后无法生效

vim /etc/docker/daemon.json 在daemon中配置一下dns {"registry-mirrors": ["https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","ht…

QML--全局对象Qt

在 QML 中,Qt 是一个内置的全局对象,提供了许多核心功能、工具函数、环境信息和类型构造方法。以下是 Qt 全局对象的详细分类和常见用途: 1. 工具函数 1.1 格式化与转换 Qt.formatDate(date, format) / Qt.formatTime(date, format) 格式化…

前端笔记-Vue3(下)

学习参考视频:尚硅谷Vue3入门到实战,最新版vue3TypeScript前端开发教程_哔哩哔哩_bilibili vue3学习目标: VUE 31、Vue3架构与设计理念2、组合式API(Composition API)3、常用API:ref、reactive、watch、c…

Git远程操作与标签管理

目录 1.理解分布式版本控制系统 2.远程仓库 3.新建远程仓库 4.克隆远程仓库 5.向远程仓库推送 6.拉取远程仓库 7.配置Git 7.1.忽略特殊文件 7.2.给命令配置别名 8.标签管理 8.1.理解标签 8.2.创建标签 8.3.操作标签 1.理解分布式版本控制系统 Git是目前世界上…

Vue3:component(组件:uniapp版本)

目录 一、基本概述二、基本使用(父传子)三、插槽四、子传父 一、基本概述 在项目的开发过程中,页面上井场会出现一些通用的内容,例如头部的导航栏,如果我们每一个页面都去写一遍,那实在是太繁琐了,所以,我…

C#语言实现PDF转Excel

实现效果 第三方库 ClosedXML iTextSharp 实现源码 using System.Text; using iTextSharp.text.pdf; using iTextSharp.text.pdf.parser; using System.Text.RegularExpressions; using ClosedXML.Excel;namespace PdfToExcel_winform {public partial class MainForm : For…

如何将IDP映射属性添加,到accountToken中 方便项目获取登录人信息

✅ 目标 你想要: 用户通过 IdP 登录(SAML 或 OAuth2)Keycloak 自动将 IdP 返回的属性(如:email、name、role 等)映射到用户账户中并把这些属性加入到用户登录返回的 Access Token 中,供业务系…

JSON-RPC远程控制

文章目录 🌐 一、什么是 JSON-RPC?📬 二、通信过程1️⃣ 客户端发起请求2️⃣ 服务端处理请求,调用方法,返回结果 📑 三、重要字段说明🛠️ 四、核心函数与概念(结合你的代码&#x…

芝法酱躺平攻略(21)——kafka安装和使用

本节内容比较初级,故接着躺平攻略写 一、官网的下载 1.1 下载解压 首先,去官网下载jar包,放进linux中,解压到对应位置。 我的位置放在/WORK/MIDDLEWARE/kafka/4.0 1.2 常见配置 # 每个topic默认的分片数 num.properties4 # 数…

AutoSAR从概念到实践系列之MCAL篇(二)——Mcu模块配置及代码详解(上)

欢迎大家学习我的《AutoSAR从概念到实践系列之MCAL篇》系列课程,我是分享人M哥,目前从事车载控制器的软件开发及测试工作。 学习过程中如有任何疑问,可底下评论! 如果觉得文章内容在工作学习中有帮助到你,麻烦点赞收藏评论+关注走一波!感谢各位的支持! 根据上一篇内容中…

easypoi 实现word模板导出

特此非常致谢:easypoi实现word模板 基础的可以参考上文; 但是我的需求有一点点不一样。 这是我的模板:就是我的t.imgs 是个list 但是很难过的是easy poi 我弄了一天,我都没有弄出来嵌套list循环怎么输出显示,更难过…

Unity中数据存储_LitJson

文章目录 LitJson一:介绍二:特点三:使用四:注意事项 LitJson 一:介绍 LitJson 是一个专为 .NET 设计的轻量级 JSON 处理库,支持序列化和反序列化 JSON 数据。 二:特点 快速且轻量 无外部依赖…

2025年首届人形机器人半程马拉松比赛(附机器人照片)

2025年4月19日,北京亦庄半程马拉松暨人形机器人半场马拉松正式开赛,作为全球首届人形机器人户外跑步成功举办,21.0975公里的户外路程对人形机器人来讲,注定将成为历史性开篇,如果赛事能够持续举办,那举办意…

网络安全职业技能大赛Server2003

通过本地PC中渗透测试平台Kali对服务器场景Windows进⾏系统服务及版本扫描渗透测 试,并将该操作显示结果中Telnet服务对应的端⼝号作为FLAG提交 使用nmap扫描发现目标靶机开放端口232疑似telnet直接进行连接测试成功 Flag:232 通过本地PC中渗透测试平台…

[java八股文][Java基础面试篇]I/O

Java怎么实现网络IO高并发编程? 可以用 Java NIO ,是一种同步非阻塞的I/O模型,也是I/O多路复用的基础。 传统的BIO里面socket.read(),如果TCP RecvBuffer里没有数据,函数会一直阻塞,直到收到数据&#xf…

Python常用的第三方模块之【jieba库】支持三种分词模式:精确模式、全模式和搜索引擎模式(提高召回率)

Jieba 是一个流行的中文分词Python库,它提供了三种分词模式:精确模式、全模式和搜索引擎模式。精确模式尝试将句子最精确地切分,适合文本分析;全模式则扫描文本中所有可能的词语,速度快但存在冗余;搜索引擎…

QT6 源(37):界面组件的总基类 QWidget 的源码阅读(下,c++ 代码部分)

(1) QT 在 c 的基础上增加了自己的编译器,以支持元对象系统和 UI 界面设计,有 MOC 、 UIC 等 QT 自己的编译器。本节的源代码里,为了减少篇幅,易于阅读,去除了上篇中的属性部分, 上篇…

rabbitmq-spring-boot-start版本优化升级

文章目录 1.前言2.优化升级内容3.依赖4.使用4.1发送消息代码示例4.2消费监听代码示例4.3 brock中的消息 5.RabbmitMq的MessageConverter消息转换器5.1默认行为5.2JDK 序列化的缺点5.3使用 JSON 进行序列化 6.总结 1.前言 由于之前手写了一个好用的rabbitmq-spring-boot-start启…

git lfs下载大文件限额

起因是用 model.load_state_dict(torch.load())加载pt权重文件时,出现错误:_pickle.UnpicklingError: invalid load key, ‘v’. GPT告诉我:你的 pt 文件不是权重文件,而是模型整体保存(或根本不是 PyTorch 文件&#…

什么是RAG?RAG的主要流程是什么?

**RAG(Retrieval-Augmented Generation)**是一种结合检索与生成技术的框架,旨在通过引入外部知识增强生成模型的性能。其核心思想是:在生成文本时,先从外部知识库中检索相关信息,再将检索结果与原始输入结合,作为生成模型的输入,从而提升生成内容的准确性、相关性和信息…