Git通过rebase合并多个commit
在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commit 拼接起来才是完整的任务。那么我们为了避免太多的 commit 而造成版本控制的混乱,通常我们推荐将这些 commit 合并成一个。
1. 查看提交历史 git log
首先你要知道自己想合并的是哪几个提交,可以使用 git log 命令来查看提交历史,假如最近 4 条历史如下:
commit 3ca6ec340edc66df13423f36f52919dfa3......commit 1b4056686d1b494a5c86757f9eaed844......commit 53f244ac8730d33b353bee3b24210b07......commit 3a4226b4a0b6fa68783b07f1cee7b688.......
历史记录是按照时间排序的,时间近的排在前面。
2. git rebase
想要合并 1-3 条,有两个方法
从HEAD版本开始往过去数3个版本
git rebase -i HEAD~3
指名要合并的版本之前的版本号
git rebase -i 3a4226b
请注意 3a4226b 这个版本是不参与合并的,可以把它当做一个坐标
3. 选取要合并的提交
执行了 rebase 命令之后,会弹出一个窗口,头几行如下:
pick 3ca6ec3 '注释**********'pick 1b40566 '注释*********'pick 53f244a '注释**********'
将 pick 改为 squash 或者 s,之后保存并关闭文本编辑窗口即可。改完之后文本内容如下:
pick 3ca6ec3 '注释**********'s 1b40566 '注释*********'s 53f244a '注释**********'
然后保存退出,Git 会压缩提交历史,如果有冲突,需要修改,修改的时候要注意,保留最新的历史,不然我们的修改就丢弃了。修改以后要记得敲下面的命令:
git add . git rebase --continue
如果你想放弃这次压缩的话,执行以下命令:
git rebase --abort
如果没有冲突,或者冲突已经解决,则会出现如下的编辑窗口:
# This is a combination of 4 commits.
#The first commit’s message is:
注释......
# The 2nd commit’s message is:
注释......
# The 3rd commit’s message is:
注释......
# Please enter the commit message for your changes. Lines starting # with ‘#’ will be ignored, and an empty message aborts the commit.
输入 wq 保存并推出, 再次输入 git log 查看 commit 历史信息,你会发现这两个 commit 已经合并了。
通过IDEA或者GOLAND便捷式操作 https://blog.csdn.net/huangjhai/article/details/109557946
相关文章:
Git通过rebase合并多个commit
在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commit 拼接起来才是完整的任务。那么我们为了避免太多的 commit 而造成版本控制的混乱,通常我们推荐将这些 commit 合并成一个。 1. 查看提交历…...
ROS 学习应用篇(八)ROS中的坐标变换管理之tf广播与监听的编程实现
偶吼吼胜利在望,冲冲冲 老规矩新建功能包 工作空间目录下/src下开启终端输入 catkin_create_pkg learning_tf roscpp rospy tf turtlesim 如何实现tf广播 引入库 c python …...
计算机算法分析与设计(23)---二分搜索算法(C++)
文章目录 1. 算法介绍2. 代码编写 1. 算法介绍 1. 二分搜索(英语:binary search),也称折半搜索(英语:half-interval search)、对数搜索(英语:logarithmic search…...
前置语音群呼与语音机器人群呼哪个更好
最近通过观察自己接到的营销电话,通过语音机器人外呼的量应该有所下降。同时和客户交流获取到的信息,也是和这个情况类似,很多AI机器人群呼的量转向了OKCC前置语音群呼。询问原因,说是前置语音群呼转化更快,AI机器人群…...
『Element Plus の 百科大全』
Element Plus 官网 点击跳转...
P3879 [TJOI2010] 阅读理解- 字典树
题面 分析 将所有单词存入字典树,重点值怎么判断在哪一行出现过,对于字典树查询的判断字符串是否存在的数组可以开成二维,也就是在查询到某个字符串存在后,再通过循环判断每一层是否存在。 代码 #include <bits/stdc.h>…...
upgrade k8s (by quqi99)
作者:张华 发表于:2023-11-17 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明(http://blog.csdn.net/quqi99) 本文只是从网上搜索一些升级k8s的理论学习,下面的步骤未实际测…...
CronExpression
CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年]序号 说明 是否必填 允许填写的值 允许的通配符 1 秒 是 0-59 , - * / 2 分 是 0-59 , - * / 3 小时 是 0-23 , - * / 4 日 是 1-31 , - * ? / L W 5 月 是 1-12 or JA…...
释放机器人潜力,INDEMIND深耕底层技术
市场转暖,但攘外需要同时安内。 市场降温之后,正迎来拐点 疫情之后,经济逐渐下行,服务机器人的“好日子”也随之结束,整个行业都在动荡中经历渡劫。根据TE智库报告显示,从2022年开始,我国服务…...
【ES6标准入门】JavaScript中的模块Module语法的使用细节:export命令和imprt命令详细使用,超级详细!!!
😁 作者简介:一名大四的学生,致力学习前端开发技术 ⭐️个人主页:夜宵饽饽的主页 ❔ 系列专栏:JavaScript进阶指南 👐学习格言:成功不是终点,失败也并非末日,最重要的是继…...
流量2----2
2...
人工智能发展前景
随着人工智能的快速发展,这个行业对人才的需求也在不断增长。越来越多的有志之士开始关注人工智能,希望通过自学获得相关技能,进而在人工智能领域找到心仪的职业。本文将探讨人工智能职业发展的前景,并为大家提供自学人工智能的途…...
编写程序,要求输入x的值,输出y的值。分别用(1)不嵌套的if语句(2)嵌套的if语句(3)if-else语句(4)switch语句。
编写程序,要求输入x的值,输出y的值。分别用(1)不嵌套的if语句(2)嵌套的if语句(3)if-else语句(4)switch语句。 选择结构是编程语言中常用的一种控制结构&…...
AcWing 4520:质数 ← BFS
【题目来源】https://www.acwing.com/problem/content/4523/【题目描述】 给定一个正整数 X,请你在 X 后面添加若干位数字(至少添加一位数字;添加的数不能有前导0),使得结果为质数,在这个前提下所得的结果应…...
00、计算机视觉入门与调优简介
写在前面 每天更新1篇文章,共更新100篇以上 相关代码会放在gitee上 中间会按进度和反馈安排视频讲解 预计2023-11-11开始推送文章,持续3个月左右 专栏简介 本专栏带你从头开始入门计算机视觉。 内容会比之前写的文章更专业更全面,并且你…...
.L0CK3D来袭:如何保护您的数据免受致命攻击
尊敬的读者: 网络犯罪的威胁日益增长,其中.L0CK3D勒索病毒是一种极具挑战性的数字威胁。为了助您应对这一风险,本文将深入探讨.L0CK3D病毒的狡猾手法、毁灭性影响,提供详实的数据恢复方法,同时为您提供极具实战性的预…...
多媒体ffmpeg学习教程
多媒体ffmpeg 目前比较流行的音视频文件为:MP4 flv m3u8 ffmpeg ffmpeg ffplay ffprobe ffserverffmpeg -i INPUT -vf "split [main][tmp]; [tmp] cropiw:ih/2:0:0, vflip [flip];[main][flip] overlay0:H/2" OUTPUTffmpeg -i 2022.mp4 -vcodec mpeg4 -b:…...
SELinux零知识学习十五、SELinux策略语言之客体类别和许可(9)
接前一篇文章:SELinux零知识学习十四、SELinux策略语言之客体类别和许可(8) 一、SELinux策略语言之客体类别和许可 4. 客体类别许可实例 (3)进程客体类别许可 与文件许可不同,许多进程许可没有直接对应到…...
OpenSign:安全可靠的电子签名解决方案 | 开源日报 No.76
microsoft/Web-Dev-For-Beginners Stars: 71.5k License: MIT 这个开源项目是一个为期 12 周的全面课程,由微软云倡导者团队提供。它旨在帮助初学者掌握 JavaScript、CSS 和 HTML 的基础知识。每一节都包括预习和复习测验、详细的书面指南、解决方案、作业等内容。…...
Linux | 进程间通信
目录 前言 一、进程间通信的基本概念 二、管道 1、管道的基本概念 2、匿名管道 (1)原理 (2)测试代码 (3)读写控制相关问题 a、读端关闭 b、写端关闭 c、读快写慢 d、读慢些快 (4&a…...
手把手教你用MATLAB图形放大法找方程根:从画图到定位,解决迭代法初值难题
手把手教你用MATLAB图形放大法找方程根:从画图到定位,解决迭代法初值难题 在数值计算的世界里,寻找方程的根就像在黑暗森林中探险——没有地图的指引,盲目选择起点可能导致算法陷入无限循环或收敛到错误解。而MATLAB的图形放大法&…...
不只是格式化:深入理解Mac磁盘工具里的‘分区方案’(GUID/MBR/APM),选对才能跨平台读写
不只是格式化:深入理解Mac磁盘工具里的‘分区方案’(GUID/MBR/APM),选对才能跨平台读写 当你将一块移动硬盘从APFS格式化为ExFAT后,满心欢喜地插到Windows电脑上,却依然收到"需要格式化"的提示—…...
用Python实战脑电分析:手把手教你计算PLV、MVL、MI跨频耦合指标
Python脑电分析实战:PLV、MVL、MI跨频耦合指标全流程解析 神经振荡的跨频耦合(Cross-Frequency Coupling, CFC)分析正在成为探索大脑信息处理机制的重要工具。想象一下,当你面对一组EEG数据时,如何从复杂的波形中提取出…...
一文读懂:文档解析、RAG、知识库及文档Agent
AI会取代人类工作吗?斯坦福大学教授、AI领域顶尖学者吴恩达近日明确表示:不会有AI就业末日。在他看来,AI会影响岗位、改变技能要求、替代部分任务,但将其描绘成大规模失业灾难,“是在制造不必要的恐惧,也是…...
终极浏览器资源嗅探指南:解锁网页媒体捕获的完整方案
终极浏览器资源嗅探指南:解锁网页媒体捕获的完整方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在数字内容无处不在的今天&#x…...
避坑指南:你的Harmony和Seurat SCTransform连用顺序对了吗?一个参数引发的聚类差异
Harmony与Seurat SCTransform联用避坑指南:参数细节如何影响聚类结果 在单细胞RNA测序数据分析中,数据预处理和批次校正对最终结果的可靠性至关重要。许多研究者已经熟悉了Seurat流程中的SCTransform标准化方法和Harmony批次校正工具的基本使用ÿ…...
如何选择一款既能过查重又能过AI检测的降重软件?(知网、维普、万方、格子达等)经验分享
毕业季与投稿季,论文查重率飙升、AIGC 疑似率居高不下,是无数人的噩梦。2026 年,国内超 82% 高校已实施 “查重率 AIGC 率” 双控标准,知网、维普、万方、格子达等平台算法全面升级,传统同义词替换早已失效。想要高效…...
如何在5分钟内为MASA模组全家桶安装中文汉化包:实用指南
如何在5分钟内为MASA模组全家桶安装中文汉化包:实用指南 【免费下载链接】masa-mods-chinese 一个masa mods的汉化资源包 项目地址: https://gitcode.com/gh_mirrors/ma/masa-mods-chinese 还在为Minecraft中MASA模组的英文界面而烦恼吗?MASA模组…...
Escrcpy终极指南:5分钟掌握Android设备图形化控制与屏幕镜像
Escrcpy终极指南:5分钟掌握Android设备图形化控制与屏幕镜像 【免费下载链接】escrcpy 📱 Display and control your Android device graphically with scrcpy. 项目地址: https://gitcode.com/GitHub_Trending/es/escrcpy 你是否曾经为在电脑上控…...
YimMenu完全指南:如何在GTA5中构建你的个人安全增强系统
YimMenu完全指南:如何在GTA5中构建你的个人安全增强系统 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/Yi…...
