Git 的 revert 命令撤销多次提交

2023-12-23 01:08

本文主要是介绍Git 的 revert 命令撤销多次提交,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

git revert 命令的含义
git revert commitId

表示撤销某个提交,并不是说撤销至某个提交。

举个例子:

新增1.txt文件进行第一次提交,新增2.txt文件进行第二次提交;
此时使用 git log 命令找到第一次提交的 commitId,执行 git revert commitId,暂存区只会撤销新增的1.txt。

如果想要撤销多次提交怎么办?

典型的应用场景是某次提交后的n次提交都需要撤销;经过多次测试后,有两种方式可以解决。

第一种: 撤销1、2次左右的提交

直接一个个撤销吧,别多想。

第二种: 撤销4、5次左右的提交

将 master 分支倒数第5次(含)至倒数第3次(含)提交撤销:

git revert -n master~5..master~2

将 master 分支最后5次(含)提交撤销:

git revert -n master~5..master
第三种: 撤销更多次的提交

第一步:假设 master 分支需要撤销至某个提交(假设提交id是 commitId,某个提交本身不撤销哦),从某个提交检出分支 dev;

git checkout commitId -b dev

第二步:切换至 master 分支,将在 master 分支中而不在 dev 分支中的提交撤销(一定要加 -n,表示撤销后不执行提交,否则你撤销几个提交就要执行几次提交):

git checkout master
git revert -n dev..master

第三步:git commit 即可,撤销完毕的 dev 分支可以删除。

总结

撤销多次提交,如果是肉眼可数的几次提交需要撤销就用第一种,如果是很多次提交数不过来的那种情况,就用第三种

这篇关于Git 的 revert 命令撤销多次提交的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/526180

相关文章

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

linux打包解压命令方式

《linux打包解压命令方式》文章介绍了Linux系统中常用的打包和解压命令,包括tar和zip,使用tar命令可以创建和解压tar格式的归档文件,使用zip命令可以创建和解压zip格式的压缩文件,每... 目录Lijavascriptnux 打包和解压命令打包命令解压命令总结linux 打包和解压命令打

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

Redis 多规则限流和防重复提交方案实现小结

《Redis多规则限流和防重复提交方案实现小结》本文主要介绍了Redis多规则限流和防重复提交方案实现小结,包括使用String结构和Zset结构来记录用户IP的访问次数,具有一定的参考价值,感兴趣... 目录一:使用 String 结构记录固定时间段内某用户 IP 访问某接口的次数二:使用 Zset 进行

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push