git删除某次commit记录
在Git中,要删除某次commit记录有几种不同的实现方法:

方法一:使用git rebase命令和~标记

该方法适用于删除最近的几次commit记录。

首先,使用以下命令查看你需要删除的commit的记录

git log

找到你要删除的commit的哈希值(commit ID)。

运行以下命令来使用git rebase命令删除commit记录(假设删除最近的一次commit)。

git rebase -i HEAD~1

这将打开一个交互式的rebase窗口。找到要删除的commit记录所在的行,将其前面的pick改为drop。

pick abc1234 commit message 1
drop def5678 commit message 2 (to be deleted)

保存并关闭文件。
Git将执行rebase操作并删除你在步骤3中指定的commit记录。

这里出现了一个问题,看一下错误

$ git rebase -i HEAD~1
interactive rebase in progress; onto 52784b2
Last commands done (2 commands done):pick abc1234 commit message 1drop def5678 commit message 2 (to be deleted)
Next commands to do (2 remaining commands):drop 46b66b5 #1000049091 xx1pick 2df1056 #1000027181 xxx2
You are currently rebasing branch 'feature/dubhe-pay-platform-2.12.3-bak' on '52784b2'.nothing to commit, working tree clean
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:git commit --allow-emptyOtherwise, please use 'git cherry-pick --skip'
Could not apply c600123... #1000046509 门店标记二期需求

大致意思是 有一些提交记录中,没有任何的文件变动,问我们要不要保留这些空(无文件改动)的提交,按需选择即可,我选择的是

# 跳过当前无法自动合并的提交,并继续处理后续的提交
git cherry-pick --skip

看下暂存区是否有未添加的文件,如果有,使用以下命令添加到暂存区,并提交到本地仓库

git add .
git commit -m "rebase"

然后告诉git,已经处理完rebase了

git rebase --continue

最后强制推送到远程仓库即可, 注意,一定要强制推送,否则白改了

git push origin branch_name -force
# 简写
git push origin branch_name -f

撤销 rebase 修改

如果你在 git rebase 过程中遇到问题并希望中止 rebase,可以使用以下命令:

git rebase --abort

这个命令会将你的分支恢复到 rebase 开始之前的状态,撤销所有未完成的 rebase 操作。

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

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

相关文章

第2章 cmd命令基础:常用基础命令(2)

Hi~ 我是李小咖,主要从事网络安全技术开发和研究。 本文取自《李小咖网安技术库》,欢迎一起交流学习🫡:https://imbyter.com 本节介绍的命令有时间与日期(time/date)、显示目录(dir)…

我从农村来到了大城市

从田埂到霓虹初到城市那天,行李箱的滚轮碾过柏油路的震动,和老家泥地上的拖沓感完全不同。站在天桥上往下看,车流像被打翻的调色盘,红的黄的光在柏油画布上流淌,我数了三遍才认清那是出租车和公交车的尾灯。第一个月总…

代码随想录算法训练营第三十六天

LeetCode.1049 最后一块石头的重量 II 题目链接 最后一块石头的重量II 题解 class Solution {public int lastStoneWeightII(int[] stones) {int len stones.length;int sum 0;for(int i 0;i<len;i) sum stones[i];int target sum / 2;int[] dp new int[target 1…

Apache Ignite 的监控与指标(Monitoring and Metrics)

这段文档是关于 Apache Ignite 的监控与指标&#xff08;Monitoring and Metrics&#xff09; 的介绍&#xff0c;内容非常关键&#xff0c;尤其在生产环境中保障系统稳定性和性能时至关重要。 我们来一步步深入解析这段文字&#xff0c;帮助你彻底理解其含义和实际意义。&…

【ssh】ubuntu服务器+本地windows主机,使用密钥对进行ssh链接

目录1、服务器配置ssh2、本地主机秘钥对3、上传公钥至服务器4、配置服务器的公钥信息5、测试连接1、服务器配置ssh 使用的服务器系统为 ubuntu系统20.04 首先确认服务器是否已安装SSH&#xff0c;已安装的话会返回openssh 的相关信息&#xff0c;返回为空表示未安装 dpkg -l …

Linux文件fd

文件理解 文件属性内容 打开文件&#xff1a;本质是进程打开文件&#xff0c;文件没被打开时候再磁盘上。 操作文件&#xff1a;本质是进程操作文件。 在操作系统内部&#xff0c;一定存在大量被打开的文件&#xff0c;会对其进行管理&#xff0c;每一个被打开的文件&#…

北京-4年功能测试2年空窗-报培训班学测开-第六十四天-准备面试项目(焦虑)-同学开始面试

今日产出&#xff0c;整理自我介绍&#xff0c;继续整理第一个项目&#xff0c;学习linux命令很焦虑啊很焦虑&#xff0c;很着急今天本打算结束第一个项目的&#xff0c;但是没能够&#xff0c;越说感觉越乱&#xff0c;让同学听我讲&#xff0c;同学说&#xff0c;要听睡着了于…

网络是如何运转的?——常见网络协议与网络分层模型

目录 基本网络协议 TCP&#xff08;传输控制协议&#xff09; 可靠传输&#xff1a;序列号确认应答重传机制 序列号&#xff08;seq&#xff09; 确认应答&#xff08;ACK&#xff09; 超时重传 三次握手与四次挥手 三次握手&#xff08;建立连接&#xff09; 四次挥手…

OpenAI放大招:ChatGPT学习模式上线,免费AI智能家教

目录一、背景介绍二、学习模式是什么国内直接使用AI主流模型GPT-5也会第一时间同步更新。三、主要功能特点1、互动式提示2、分层次响应3、个性化支持4、知识检查5、灵活切换四、学生如何使用学习模式1、访问方式2、适用场景3、交互过程4、使用示例五、局限性1、依赖学生自觉性2…

设计模式:享元模式 Flyweight

目录前言问题解决方案享元工厂结构代码前言 享元是一种结构型设计模式&#xff0c;它摒弃了在每个对象中保存所有数据的方式&#xff0c;通过共享多个对象所共有的相同状态&#xff0c;让你能在有限的内存容量中载入更多对象。 问题 假如你希望在长时间工作后放松一下&#x…

Spring Boot容器化实战:用官方OpenJDK镜像极速启动你的应用

前言 用 Docker 打包 Java 应用,尤其是 Spring Boot,简直是开发者的超级利器。想象一下,你的程序就像勤快的外卖小哥,随时待命,跑遍任何一台机器,马上为你服务。不论是开发环境还是生产环境,Docker 都能让部署变得轻松又高效,彻底告别“环境不一致”的烦恼。 本篇文章…

【计算机网络 | 第1篇】计算机网络概述(上)

文章目录一.现代通信基础&#x1f95d;二.网络、互联网、英特网&#x1f9fe;1.网络&#xff08;Network&#xff09;2.互联网&#xff08;internet&#xff09;3.因特网&#xff08;Internet&#xff09;三.计算机网络的标准定义&#x1f95d;早期定义&#x1f9fe;物理构成视…

python语法笔记

问题解决办法 原本是个小问题&#xff0c;但是花了我大量时间。先说最后的解决办法&#xff1a;360网络急救箱搞的。一.问题描述 始终拉取失败 二.解决过程 1.登陆凭证检测&#xff0c;查下密码是不是不对。2.清除GIT所有数据 3.使用SSH拉取 生成密钥网站上添加密钥SSH 拉取4.G…

XTOM蓝光三维扫描仪:解锁中小尺寸复杂零件的高精度3D检测新境界

在3C消费电子行业&#xff0c;产品从出厂到用户手中&#xff0c;可能经历运输、使用中的意外跌落。据统计&#xff0c;超过30%的电子产品售后问题与物理冲击相关。跌落测试可模拟产品在运输、使用中意外跌落的场景&#xff0c;可评估其结构强度、内部组件抗冲击能力&#xff0c…

Django+celery异步:拿来即用,可移植性高

一、依赖环境 1、python解释器版本&#xff1a;python3.7.5 2、稳定依赖包 # Celery 核心 celery5.2.7 kombu5.2.4 billiard3.6.4.0 vine5.0.0# Redis broker backend redis4.3.6# eventlet (如果用 -P eventlet)【windows系统可以使用】 eventlet0.33.3 greenlet1.1.3# 避免…

Ubuntu18.04 LTS +RTL 8125 出现安装完系统后没有网络问题

Ubuntu18.04 LTS RTL 8125 出现安装完系统后没有网络问题问题描述最终解决方案1.下载对应的Realtek网卡驱动&#xff0c;使用命令lspci查看网卡信息安装网卡3.重启电脑记录过程1.内核升级方式1&#xff09;下载新的内核驱动2&#xff09;安装内核驱动3&#xff09;重启电脑4&am…

集成电路学习:什么是ARM CortexM处理器核心

ARM Cortex-M是ARM公司专为微控制器( Microcontroller)设计的处理器核心系列,它以其高性能、低功耗和易于开发的特点,在嵌入式系统和微控制器领域得到了广泛应用。以下是关于ARM Cortex-M的详细介绍: 一、ARM Cortex-M的概述 ARM Cortex-M系列处理器是基于ARM架构的高能效…

Apache Ignite 的分布式原子类型(Atomic Types)

以下的内容是关于 Apache Ignite 的分布式原子类型&#xff08;Atomic Types&#xff09;&#xff0c;主要包括 IgniteAtomicLong 和 IgniteAtomicReference。它们是 跨集群节点的“全局共享变量”&#xff0c;支持线程安全、原子性操作&#xff0c;即使多个节点同时访问也能保…

Leetcode 08 java

283. 移动零 提示 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输…

LeetCode 56 - 合并区间

思路 排序&#xff1a;将所有区间按起始点从小到大排序。贪心合并&#xff1a;初始化一个结果列表&#xff0c;放入第一个区间。然后遍历剩余区间&#xff0c;将当前区间与结果列表中的最后一个区间比较&#xff1a; 若重叠&#xff08;当前区间起点 ≤ 结果区间终点&#xff0…