Git 和 GitHub:(十五)合并多次提交

发布时间:2026/9/19 9:10:02

Git 和 GitHub:(十五)合并多次提交 上一篇下一篇rebase 到某个有新提交的远程仓库的分支目 录合并多次提交1法一使用 git reset --soft适合合并最新的多次提交2法二使用交互式 rebase通用合并多次提交要合并的多次提交此前有没有 push 都可以合并1法一使用 git reset --soft适合合并最新的多次提交原理利用git reset --soft回退分支指针同时保留所有改动在暂存区然后整体重新提交并默认使用最近一次提交的说明信息。操作步骤以合并最近 3 次提交为例确保工作区干净没有未暂存或未提交的修改建议先打一个备份分支gitbranch backup/my-branch# 可选但强烈推荐软回退到第 1 个提交之前保留全部改动gitreset--softHEAD~2HEAD~2因为总共 3 次提交回退 2 次后HEAD 指向最早那次提交的父节点。此时暂存区包含了这 3 次提交的全部改动工作区不变。复用最近一次提交回退前的 HEAD的提交信息生成新提交gitcommit-cORIG_HEADORIG_HEAD是git reset自动记录的“上一个 HEAD 位置”恰好指向你最近的那次提交。-c会打开编辑器并填入那次提交的信息你可以直接保存或进行微调和git commit的编辑页面一样。可选若不想做任何修改直接完全复用提交信息gitcommit-CORIG_HEAD# 大写 -C不打开编辑器确认结果gitlog--oneline此时历史中只剩下一个提交其提交信息为之前最近那次的信息。提交如果之前已经推送过这些提交那本地历史已变需要强制推送至远程如 GitLab/GitHubgitpush --force-with-lease如果从未推送过则直接普通推送gitpush通用化技巧合并最近 N 次提交将HEAD~2替换为HEAD~N-1。例如合并最近 5 次使用git reset --soft HEAD~4。如果想自定义提交信息可以不用-c ORIG_HEAD直接用git commit -m 新信息。注意事项软回退会把所有未提交的改动也带入暂存区操作前请确认工作区状态。如果回退的提交中包含了合并提交merge commitORIG_HEAD依然指向原来的 HEAD但复用其信息时需注意合并信息的格式。2法二使用交互式 rebase通用以合并最近三次提交为例所需指令如下# 查看提交记录精简版gitlog--oneline-3gitrebase-iHEAD~3# 修改提交历史# 若要合并的提交此前没有被推送则普通推送即可gitpush-uorigin 远程仓库分支名# 如果已经推送则此次须强制推送# git push --force-with-lease 远程仓库分支名# 再次查看提交记录验证gitlog--oneline-3执行git rebase -i HEAD~3然后修改提交历史的具体流程如下从上往下是旧→新和 git log 相反然后把后两个提交的pick改成squash或s按i开始编辑和 git commit 一样按 ESC键入 :wq 退出编辑后Git 会弹出第二个编辑器让你编辑合并后的提交信息注意如果需要合并的提交之前已经 git push 到远程仓库了那么合并之后要使用强制推送如果之前没有推送那么普通推送即可。如果最近提交了 6 笔想合并前 4 次提交那么就git rebase -i HEAD~6然后将第 2/3/4 笔提交前的pick改成squash即可 …… 以此类推。
延伸阅读

更多相关文章

2026/9/7 11:40:47

Elasticsearch入门指南:从核心概念到环境搭建与实战

1. 从“搜索”到“洞察”:为什么我们需要Elasticsearch?如果你做过几年后端开发,或者处理过稍微有点规模的数据,大概率遇到过这样的场景:用户抱怨搜索功能太慢,产品经理要求实现一个“模糊匹配”的筛选器&a…

2026/9/13 11:30:03

Hive SQL array_contains函数:数组存在性查询的性能优化与实战

1. 从一次数据查询的“翻车”说起:为什么需要array_contains那天下午,我正在处理一个用户行为分析的需求。数据仓库里有一张表,记录了用户每次访问应用时点击的标签(tag),这些标签被存成了一个数组&#xf…

2026/9/17 15:44:26

如何快速掌握MAA明日方舟自动化助手:面向新手的完整教程

如何快速掌握MAA明日方舟自动化助手:面向新手的完整教程 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https://g…

2026/9/19 9:09:00

钉钉杯大数据赛:从数据清洗到业务落地的实战指南

1. 项目概述:这不是一场普通竞赛,而是一次真实业务场景的“压力测试”“【获奖率50%、官方证书】2024年第三届钉钉杯大学生大数据挑战赛”——这个标题里藏着三个关键信号,我带过十几届校企联合数据赛事,一眼就能看出它和市面上那…

2026/9/19 9:09:00

GitHub Copilot Workspace百万Token上下文技术解析与应用实践

1. GitHub Copilot Workspace 百万Token上下文解析去年在重构一个遗留的Java EE系统时,我花了整整两周时间才理清各个模块间的调用关系。当时就在想:要是能有个工具可以一次性加载整个代码库,直接理解全局架构该多好。GitHub Copilot Workspa…

2026/9/19 9:09:00

2024年PyTorch与TensorFlow选型指南:从入门到部署的深度对比

1. 为什么2024年还在纠结PyTorch和TensorFlow先把结论摆在前面:如果你是刚入门深度学习的新手,或者你的项目以研究、实验、快速迭代为主,2024年选PyTorch基本不会错;如果你要交付的是工业级部署、跨平台推理、或者团队已有大量Ten…

2026/9/18 14:13:01

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/19 0:03:10

验证 OpenSpec 兼容性,Cursor 的 Token 从 TaoToken 出

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 0:03:10

书桌角落的 Mac mini,OpenClaw 通过 TaoToken 跑任务。

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 0:03:10

oh-my-hermes:打造跨工具的命令编排与插件化工作流

1. 项目概述与设计初衷1.1 它到底是什么先说结论:oh-my-hermes 是一个面向开发者日常终端操作的效率工具套件,核心定位是“把分散在各类命令行工具里的高频操作,统一收拢成一套插件化、可编排的工作流”。项目灵感来源很明显——oh-my-zsh 重…

2026/9/18 14:13:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/18 14:13:02

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/18 14:13:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码