当前位置: 首页 > news >正文

GIt Squash 多个提交压缩提交

假设你有一个名为 feature 的分支,它包含三个提交(A, B, C),并且你想将这三个提交压缩成一个。下面是如何做到这一点的。

首先,找出你要开始压缩的那个最早提交的哈希值。在这个例子中,我们假设 A 是最早的提交。你可以通过运行 git log 命令来查看提交历史并找到提交 A 的哈希值。

开启交互式 rebase 模式

git rebase -i <A-hash>^

这里 <A-hash> 是提交 A 的哈希值。^ 符号表示该提交的前一个提交。

Squash 合并

将你希望合并的每个提交行前面的 pick 改为 squashs。第一行(最早的提交)应保留为 pick

# 根据rebase -i 提交目标hash值打开编辑界面
git rebase -i 71c24d47b2f68d0465c3e3defa48311c3d592036# 接着会弹出如下界面  s -- squash ,被合并的提交 pick 改为s(squash)
pick 5c079ff120 fix
s 316e094548 fix status log
s a79cbdc0f3 脱手重复key问题修复
s df8650aa3f [feat] add hmi
s ff74bd1bf1 [feat] add curise speed
s 08bf230667 [fix] cruise_speed_limit
s 71c24d47b2 [feat]: 15s hod
s 26f7d3f83d Updated mff_aeb_config.json

保存并关闭编辑器。

Git 默认使用的编辑器可能是 Vim, Nano 或者其他的,这取决于你的系统配置。

这里以 Vim 和 Nano 为例说明如何保存并退出:

Vim :

        1、在 Vim 中,按 Esc 进入命令模式

        2、输入 :wq (意思是 write and quit,即保存并退出),然后按 Enter

Nano:

        1、按 Ctrl+O 来保存文件(你会在底部看到提示 "File Name to Write")

        2、然后,按 Enter 确认文件名

        3、最后,按 Ctrl+X 退出编辑器

设置默认编辑器:

        git config --global core.editor vim

如果你选择了任何提交进行压缩,Git 将再次打开一个编辑器,让你修改新的合并提交消息。这将是所有被挑选和压缩提交的提交消息的组合。

在这里,你可以整理你的提交消息,删除不需要的部分或者添加更多的细节。

保存并关闭编辑器会创建新的合并提交。

推送到远端

现在,你可以用以下命令强制推送你的更改到远程存储库:

git push origin feature --force

就这样,你已经成功地将分支 feature 的三个提交压缩为一个了!

http://www.lryc.cn/news/123628.html

相关文章:

  • 【数据结构】栈与队列
  • 突然让做性能测试?试试RunnerGo
  • (7)(7.4) 集结航点
  • 基于kubeadm部署K8S集群:上篇
  • 机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
  • 学生成绩管理系统V1.0
  • 嵌入式:ARM Day1
  • Android 网络协议与网络编程
  • 【讯飞星火认知大模型】大模型之星火手机助理
  • centos中的swap.img可以删除吗
  • Java多线程编程中的线程死锁
  • 在浏览器中使用javascript打印HTML中指定Div带背景图片内容生成PDF电子证书查询的解决方案
  • 【Redis实践篇】使用Redisson 优雅实现项目实践过程中的5种场景
  • 污水处理厂人员定位方案介绍
  • 约数个数(质因子分解)
  • 【QT】 QSS样式表设计一文了解
  • 9-AJAX-1入门
  • ssh免密登录
  • 全球公链周进展-2023/8/14
  • python装饰器详解,python装饰器笔记心得
  • 【C语言】每日一题(寻找数组的中心下标)
  • centos 安装 nginx配置ssl 和 获取用户真实ip
  • RocketMQ 消息消费 轮询机制 PullRequestHoldService
  • springboot 数据库版本升级管理常用解决方案
  • 78. 子集
  • Mask RCNN网络结构以及整体流程的详细解读
  • Android Framework底层原理之WMS的启动流程
  • Leaflet入门,Leaflet加载xyz地图,以vue-leaflet插件加载高德地图为例
  • 【ARM Cache 系列文章 8 -- ARM DynamIQ 技术介绍
  • 24届近5年南京大学自动化考研院校分析