git撤销、回退某个commit的修改

在这里插入图片描述

文章目录

    • 撤销某个特定的commit
      • 方法 1:使用 `git revert`
      • 方法 2:使用 `git rebase -i`
      • 方法 3:使用 `git reset`

撤销某个特定的commit

如果你要撤销某个很早之前的 commit,比如 7461f745cfd58496554bd672d52efa8b1ccf0b42,可以通过以下几种方法来实现:

方法 1:使用 git revert

git revert 会生成一个新的 commit 来撤销指定的 commit,而不会影响之后的 commit 历史。可以使用以下命令:

git revert 7461f745cfd58496554bd672d52efa8b1ccf0b42

这会生成一个新的 commit,撤销 7461f745cfd58496554bd672d52efa8b1ccf0b42 中的改动,但不会影响之后的 commit 历史。

方法 2:使用 git rebase -i

git rebase -i 适用于对历史 commit 进行更改或删除。注意这种方式会改变历史,因此在共享分支上操作时需谨慎。

  1. 运行以下命令以交互模式重写历史:

    git rebase -i 7461f745cfd58496554bd672d52efa8b1ccf0b42^
    
  2. 在编辑器中找到 7461f745cfd58496554bd672d52efa8b1ccf0b42 的那一行,把它前面的 pick 改为 drop,然后保存并退出。

  3. 之后,Git 会重新应用后续的 commit。若遇到冲突,按提示解决冲突并继续执行 git rebase --continue

方法 3:使用 git reset

如果你要直接“回到”该 commit 之前的状态,而不需要之后的更改,可以使用 git reset,但注意这种方法会直接修改分支的历史记录,适用于非共享分支。

git reset --hard 7461f745cfd58496554bd672d52efa8b1ccf0b42

这会将分支的状态直接重置到 7461f745cfd58496554bd672d52efa8b1ccf0b42。但是所有在该 commit 之后的 commit 都会被删除,无法恢复。

总结来说,推荐的修复方法是使用 POSIX 兼容的 = 比较符来确保脚本能在更多的环境中运行。


结束语
Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

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

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

相关文章

《译文》2024年11月数维杯国际大学生数学建模挑战赛题目

# 赛题正式发布 2024年第十届数维杯国际大学生数学建模挑战赛顺利开赛,竞赛开始时间为北京时间2024年11月15日09:00至北京时间2024年11月19日09:00,共计4天,竞赛题目正式发布,快来一起围观,你认为今年的哪个题目更具有…

LabVIEW 使用 Snippet

在 LabVIEW 中,Snippet(代码片段) 是一个非常有用的功能,它允许你将 一小段可重用的代码 保存为一个 图形化的代码片段,并能够在不同的 VI 中通过拖放来使用。 什么是 Snippet? Snippet 就是 LabVIEW 中的…

【苍穹外卖】学习日志-day1

目录 nginx 反向代理介绍 nginx 的优势 提高访问速度 负载均衡 保证后端服务安全 高并发静态资源 Swagger 生成 API 文档 Swagger 的使用方式 导入knife4j的maven坐标 在配置类中加入knife4j相关配置 设置静态资源映射 通过注解控制生成的接口文档 项目技术点 Token 模式 MD5 加…

【pmpm安装】

1、安装 npm install -g pnpm2、查看仓库地址 pnpm config get registry3、设置仓库地址 pnpm set registry https://registry.npm.taobao.org4、设置本地默认仓库地址 pnpm config set store-dir D:/.pnpm-store5、获取本地仓库地址 (pnpm仓库不能跨磁盘&…

Java poi 模板导出Word 带图片

Java poi 模板导出Word 带图片 重点&#xff01;&#xff01;&#xff01; 官方文档&#xff1a;https://deepoove.com/poi-tl/#_maven 最终效果 模板 其实内容都在官方文档里写的非常明白了 我这里只是抛砖引玉。 Maven依赖 <poi.version>4.1.2</poi.version>…

2024年【A特种设备相关管理(A4电梯)】新版试题及A特种设备相关管理(A4电梯)找解析

一、单项选择题 A4电梯的安装、改造、维修、检验和维保必须由电梯制造单位或者依照规定取得许可的单位进行&#xff0c;任何单位或者个人不得( )。 A. 随意安装、改造、维修、检验和维保 B. 未取得许可擅自安装、改造、维修、检验和维保 C. 按照自己意愿安装、改造、维修、检验…

HMSC联合物种分布模型在群落生态学中的贝叶斯统计分析应用

联合物种分布模型&#xff08;Joint Species Distribution Modelling&#xff0c;JSDM&#xff09;在生态学领域&#xff0c;特别是群落生态学中发展最为迅速&#xff0c;它在分析和解读群落生态数据的革命性和独特视角使其受到广大国内外学者的关注。在学界不同研究团队研发出…

postman变量和脚本功能介绍

1、基本概念——global、collection、environment 在postman中&#xff0c;为了更好的管理各类变量、测试环境以及脚本等&#xff0c;创建了一些概念&#xff0c;包括&#xff1a;globals、collection、environment。其实在postman中&#xff0c;最上层还有一个Workspaces的概…

Java NIO 核心知识总结

NIO 简介 在传统的 Java I/O 模型&#xff08;BIO&#xff09;中&#xff0c;I/O 操作是以阻塞的方式进行的。也就是说&#xff0c;当一个线程执行一个 I/O 操作时&#xff0c;它会被阻塞直到操作完成。这种阻塞模型在处理多个并发连接时可能会导致性能瓶颈&#xff0c;因为需要…

Qwen2.5-Coder-32B-Instruct Docker 部署openai接口

Qwen2.5-Coder-32B-Instruct 模型下载,国内快捷方式: conda create -n modelscope python=3.10 conda activate modelscopepip install modelscopemodelscope download --model Qwen/Qwen2.5-Coder-32B-Instruct --local_dir /ssd/xiedong/Qwen/Qwen2.5-Coder-32B-I

基于STM32的智能语音识别饮水机系统设计

功能描述 1、给饮水机设定称呼&#xff0c;喊出称呼&#xff0c;饮水机回答&#xff1a;我在 2、语音进行加热功能&#xff0c;说&#xff1a;请加热&#xff0c;加热片运行 3、饮水机水位检测&#xff0c;低于阈值播报“水量少&#xff0c;请换水” 4、检测饮水机水温&#xf…

电子应用产品设计方案-10:全自动智能门禁系统设计方案

一、系统概述 本全自动智能门禁系统旨在提供高效、安全、便捷的人员进出管理解决方案。通过融合先进的生物识别技术、传感器技术、网络通信技术和自动化控制技术&#xff0c;实现门禁的自动识别、授权、记录和管理。 二、系统组成 1. 前端识别设备 - 人脸识别模块&#xff1a;采…

聊聊Flink:Flink的分区机制

一、前言 flink任务在执行过程中&#xff0c;一个流&#xff08;stream&#xff09;包含一个或多个分区&#xff08;Stream partition&#xff09;。TaskManager中的一个slot的subtask就是一个stream partition&#xff08;流分区&#xff09;&#xff0c;一个Job的流&#xf…

IO流实用案例:用字节流--输入流(Inpustream)、输出流(OutputStream)写一个拷贝图片的案例--超简单!

案例背景&#xff1a; 我的电脑桌面有一张白敬亭的照片&#xff0c;我们需要把这张照片拷贝到我的电脑D:\学习软件\copyBJT目录下&#xff0c;当前我们这个目录是没有东西的。 代码演示以及注释&#xff1a; ublic class StreamCopy {public static void main(String[] args)…

ArkTS学习笔记:ArkTS起步

ArkTS是HarmonyOS的主力应用开发语言&#xff0c;基于TypeScript扩展&#xff0c;强化了静态检查和分析&#xff0c;旨在提升程序稳定性和性能。它采用静态类型&#xff0c;禁止运行时改变对象布局&#xff0c;并对UI开发框架能力进行扩展&#xff0c;支持声明式UI描述和自定义…

卡尔曼滤波:从理论到应用的简介

卡尔曼滤波&#xff08;Kalman Filter&#xff09;是一种递归算法&#xff0c;用于对一系列噪声观测数据进行动态系统状态估计。它广泛应用于导航、控制系统、信号处理、金融预测等多个领域。本文将介绍卡尔曼滤波的基本原理、核心公式和应用案例。 1. 什么是卡尔曼滤波&#x…

Mac解压包安装MongoDB8并设置launchd自启动

记录一下在mac上安装mongodb8过程&#xff0c;本机是M3芯片所以下载m芯片的安装包&#xff0c;intel芯片的类似操作。 首先下载安装程序包。 # M芯片下载地址 https://fastdl.mongodb.org/osx/mongodb-macos-arm64-8.0.3.tgz # intel芯片下载地址 https://fastdl.mongodb.org…

【已解决】git push一直提示输入用户名及密码、fatal: Could not read from remote repository的问题

问题描述&#xff1a; 在实操中&#xff0c;git push代码到github上一直提示输入用户名及密码&#xff0c;并且跳出的输入框输入用户名和密码后&#xff0c;报错找不到远程仓库 实际解决中&#xff0c;发现我环境有两个问题解决&#xff1a; git push一直提示输入用户名及密码…

【Rust 编程语言工具】rustup-init.exe 安装与使用指南

rustup-init.exe 是用于安装和管理 Rust 编程语言工具链的 Windows 可执行文件。Rust 是一种系统级编程语言&#xff0c;旨在提供安全、并发和高性能的功能。rustup-init.exe 是官方提供的安装器&#xff0c;用于将 Rust 安装到 Windows 操作系统中&#xff0c;并配置相关环境。…

mysql 示例验证demo

确保引入了正确的头文件&#xff1a; 在 MySQL C Connector 中&#xff0c;ResultSet 和 Statement 类型的声明需要包含相关的头文件。你需要包括 resultset.h 和 statement.h。 更新代码&#xff1a; 你需要确保程序正确地包含了这些头文件&#xff0c;并且按照正确的顺序使…