Git 撤回commit

news2024/12/29 10:02:47

上一篇,Git撤销add,其实已经讲了用reset命令可以取消commit,这里再啰嗦下。先看:

git如何撤回已经commit • Worktile社区

首先明确一点,无论是commit还是撤销commit,都是在本地暂存区操作,而不是远程仓库,要同步到远程仓库,需要push。

下面按照原文思路讲,再加一些自己的理解:

方法一:使用git reset命令

使用reset,前面已经讲过了,但是,如果之前commit之后又push了,而这次reset后,又push下,那么实现的功能其实是删除了远程仓库的上次push版本,即删除了最后的一个版本!见:

git删除某个版本_千锋教育 (mobiletrain.org)

此文中因为reset加了--hard,所以push要加 -f。

需要注意的是,这种删除版本的操作是不可逆的,即被删除的版本是找不回来的。版本号是会减少到删除的版本之前那一个。

方法二:使用git revert命令

这个命令同样可以实现版本删除功能,即撤销commit功能(本来本文是要讲这个功能哈),同样是只对本地暂存区操作,要同步远程需push下。但是,其实它并不是真的删除了那个版本,而是新增一个去掉那个版本的所有修改的版本,再提交,即,其实版本号是继续增加的。同时,它还有很多好处,直接上文吧:

Git进阶(二):git revert 用法-CSDN博客

对比reset,可以说是revert有三个优点吧,特别是第二点,非常神奇,revert之后的版本,在要合并包含被revert版本的版本(即是被revert版本之后到revert版本之前的这些版本)时,因为这些版本包含这个revert操作,会自动将被revert的版本剔除!个人认为,这是revert的最大优点!

方法三:使用git checkout命令

这就很低级了,就是直接新建一个版本,再提交。版本号继续增加,之前需要删除的版本也还是在,同样,这个版本及之后的版本,如果再和需要删除的版本之后到这个版本之前的版本合并,则还是会带有要删除的版本,也就是没有revert中第二个优点。

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

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

相关文章

CTFHub技能树-Git泄漏-Stash

目录 一、前提知识 1.什么是git stash 2.git文件目录结构 3.git中对象指向 二、解题过程 方法一:使用GitHack 方法二:使用Git_Extract工具,这个是自动解析不用git stash等操作,直接得到flag 当前大量开发人员使用git进行版本…

C/C++:C语言中的__FILE__、__LINE__等几种C标准用法

C语言中的几种特殊标准定义 __FILE__ :正在编译文件的文件名__LINE__ :正在编译文件的行号__DATE__:编译时刻的日期字符串 如“Sep 22 2020”__TIME__:编译时刻的时间字符串 如”10:00:00“__STDC__:判断该文件是不是…

网关功能介绍

在微服务架构中,网关(API Gateway)扮演着至关重要的角色,它作为客户端和微服务之间的中介,负责路由、过滤、认证、限流等职责。以下是一些常见的网关实现: Spring Cloud Gateway: Spring Cloud …

【佳学基因检测】网站加密证书失效后,如何移除并为新的证书安装准备环境?

【佳学基因检测】网站加密证书失效后,如何移除并为新的证书安装准备环境? 当WoTrus DV Server CA证书失效后,你需要确保你的Nginx配置中不再引用该证书,并且移除或替换相关的证书文件。以下是具体步骤: 1. 确认Nginx…

如何在 cPanel 中使用 PuTTY SSH

cPanel & WHM 的直观网页界面使管理服务器和虚拟主机账户变得轻松。然而,有时在服务器命令行上工作也是很有用的。PuTTY SSH客户端允许您通过加密连接登录到服务器的命令行界面,从而确保敏感数据不会在互联网上暴露。Hostease 提供高性能的服务器&am…

Python | Leetcode Python题解之第391题完美矩形

题目: 题解: class Solution:def isRectangleCover(self, rectangles: List[List[int]]) -> bool:area, minX, minY, maxX, maxY 0, rectangles[0][0], rectangles[0][1], rectangles[0][2], rectangles[0][3]cnt defaultdict(int)for rect in rec…

【区块链 + 物联网】区块链边缘计算网关设备 | FISCO BCOS应用案例

目前边缘端设备主要以人工智能应用为主,或以数据采集网络设备为主,还未有区块链边缘计算网关设备,难以 在依托终端设备的传统行业中进行区块链 应用。本项目研制区块链边缘计算网关,将区块链、计算与网络集成 在一起,…

docker-compose安装mysql8集群

我这里一主两从mysql数据库集群,mysql镜像版本是8.0.39 如下 如下: [rootVM-20-8-centos mysqlData]# docker-compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS mysql-master …

【C题成品论文2已出】24数学建模国赛C题第二套成品论文(附参考代码)免费分享

假设:每个地块每年种植一种农作物。 针对问题一 单目标优化问题,定义决策变量,定义目标函数、定义约束条件、数据预处理、使用整数规划,编程解决问题。 定义决策变量: Xt,i:在第t年种植第i种作物的亩数…

如何规划Web项目

项目规划 规划步骤 1. 用户故事 从用户的角度描述应用程序的功能。所有用户故事放在一起描述了整个应用程序 2. 功能 3. 流程图(我们将去构建什么) 4. 架构(我们如何去构建他) 下一步就是开发步骤(使用代码来实现我…

聊聊资源调度

资源调度 般分为两个阶段: 是实现物理资源的虚拟化(即资源的抽象)于当前机器的性能越来越好,硬件配置越来越高,直接用物理机跑业务比较浪费,所以将物理机分割成更小单位的虚拟机,这样可以显著提…

“人大金仓”正式更名为“电科金仓”; TDSQL-C支持回收站/并行DDL等功能; BigQuery支持直接查询AlloyDB

重要更新 1. “人大金仓”正式更名为“电科金仓”,完整名称“中电科金仓(北京)科技股份有限公司”,突出金仓是中国电子科技集团有限公司在基础软件领域产品( [1] ) 。据悉人大金仓在上半年营收入为9056万元,净利润约21…

idea中配置Translation插件完成翻译功能

文章目录 idea下载插件配置有道云阿里云百度翻译开放平台 idea下载插件 idea中安装Translation插件 使用方法:右下角选择翻译引擎,鼠标选中想翻译的部分,右键翻译即可 之前一直用的微软的翻译,不需要配置,但是最近微软…

Unity Adressables 使用说明(七)诊断工具(Diagnostic tools)

Addressables 包含诊断工具,用于分析你的 Addressables setup、performance 和 build result 。 Addressables Profiler Module Addressables Profiler 是一个 Unity 编辑器 Profiler 模块,可以用来了解从 Addressables 加载的内容。 前提条件 必须启…

【LeetCode】06.Z字形变换

题目要求 解题思路 首先映入我们脑海的就是暴力。这一方法可行,但是时间复杂度空间复杂度很高,因此我们使用找规律的方法。这样的话我们可以模拟插入下标,这样的话很容易发现首行和末行插入的位置刚好是d2*n-2,而中间行的两个位置…

Linux环境中安装java环境(JDK8环境)

需求背景: 给国产服务器(银河麒麟V10)中安装项目运行环境,安装java环境!具体如下 下载jdk包 访问Oracle官网下载jdk包:Java Downloads | Oracle 中国 选择对应的cpu架构进行下载 https://download.csdn.…

OpenCV视频处理练习案例-学习篇

需要实现的功能: 用OpenCV打开一段视频,将每一帧画面压缩成540p,对画面进行垂 直翻转,转为黑白,然后添加高斯噪声,把处理好的每一帧画面保存 成一个mp4文件保存到本地 Python代码如下: impor…

第143天:内网安全-权限维持自启动映像劫持粘滞键辅助屏保后门WinLogon

案例一: 权限维持-域环境&单机版-自启动 自启动路径加载 路径地址 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\ ##英文C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\开始菜单\程序\启动\ ##中文…

Tensorflow常见激活函数 -- Tensorflow自学笔记10

激活函数 激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。引入非线性激活函数,可使深层神经网络的表达能力更加强大。 一. 什么是优秀的激活函数? 优秀的激活函数应满足: 1. 非线性: 激活函数非线性时,多层神经网…

泛微E9 Ecology9-JS应用高级进阶视频教程(重磅)

泛微E9 Ecology9【JS 应用】高级进阶视频教程震撼登场!点击下载 引言: 随着企业数字化转型的深入,掌握泛微E9的高级开发技能已经成为众多IT技术人员和企业信息化从业者不可或缺的竞争优势。而作为泛微E9二次开发中的重要组成部分&#xff0…