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

git 多个提交记录合并为一个

1.场景

        有时候用devops等平台测试问题,需要多次修改小的记录提交,但是最终我们在合并主干的时候不想留那么多乱七八糟的记录,就需要在此分支合并这些提交记录,再合并到主干。

2.交互式变基

2.1 确定要合并的提交范围

# 查看最近提交历史
git log --oneline

2.2 启动交互式变基

# 合并最近4个提交
git rebase -i HEAD~4# 或者指定到某个commit
git rebase -i abc1234^

2.3 在编辑器中修改提交指令

pick a1b2c3d 第一个提交
squash b2c3d4e 第二个提交
squash c3d4e5f 第三个提交
squash d4e5f6g 第四个提交
  • 保留第一个提交为 pick

  • 将后续要合并的提交改为 squash 或 s (保留提交信息)

  • 或使用 fixup 或 f (丢弃提交信息)

2.4 保存并退出编辑器

 在Vim中是:wq

2.5 编辑合并后的提交信息

  • Git会打开一个新编辑器让你编辑最终的提交信息

  • 默认会包含所有被合并提交的信息,你可以修改或保留

2.6 完成合并

  • 保存退出后,多个提交就合并为一个了

2.7 强制推送 

如果已经推送到了远程仓库,合并后需要强制推送:

git push -f

 

http://www.dtcms.com/a/179592.html

相关文章:

  • 为什么强调 RESTful 的无状态性?-优雅草卓伊凡
  • A2A Hello World搭建
  • CTF杂项入门(BUUCTF-Misc第一页)
  • 智能外呼机器人的核心优势
  • 手撕基于AMQP协议的简易消息队列-7(客户端模块的编写)
  • 安装Pod网络插件时pod状态变为ImagePullBackOff
  • 贵州安全员考试内容有哪些?
  • VB自动获取彩票网页数据指南
  • VUE——自定义指令
  • MySQL基础关键_012_事务
  • PH热榜 | 2025-05-08
  • element-ui form 组件源码分享
  • GoogLeNet详解
  • 常用 svg ICON
  • 详细聊聊 Synchronized,以及锁的升级过程
  • Cursor+AI辅助编程-优先完成需求工程结构化拆解
  • 1分区 1-113 多线不起总线启
  • Optimum详解
  • LeetCode 216.组合总和 III:回溯算法实现与剪枝优化
  • 日拱一卒 | RNA-seq数据质控(1)
  • 400种行业劳动合同模板
  • 从零到精通:GoFrame ORM 使用指南 - 特性、实践与经验分享
  • vfrom表单设计器使用事件机制控制字段显示隐藏
  • SpringAI实现AI应用-自定义顾问(Advisor)
  • Kubernetes HPA 深度解析:生产环境自动扩缩容实战指南
  • 计算机网络笔记(十六)——3.3使用广播信道的数据链路层
  • 高效文件夹迁移工具,轻松实现批量文件管理
  • PVP鼠标推荐(deepseek)
  • 谷歌 Gemma 大模型安装步骤
  • Salesforce认证体系大升级!7月21日正式上线新平台