git rebase -i HEAD~n

只有自己一个人开发的分支,提交记录有多次,想要合并多次提交记录

1. 交互式变基

git rebase -i HEAD~N

N = 你想合并的提交数

2. 在编辑器中设置 squash

执行完第一步后,会弹窗让你修改

弹窗修改前:

pick p3q4r5s Implement core logic

pick m0n1o2p Refactor utils

pick i7j8k9l Add logging

pick e4f5g6h Update config

pick a1b2c3d Fix typo

弹窗修改后:

pick p3q4r5s Implement core logic

squash m0n1o2p Refactor utils

squash i7j8k9l Add logging

squash e4f5g6h Update config

squash a1b2c3d Fix typo

第一个用 pick,后面的都用 squash(或简写 s)。修改完毕后保存退出

3. 编辑最终提交信息

保存后,Git 会打开新窗口,让你写合并后的提交信息。

你可以:

删除不需要的行(以前的提交注释)

写一个简洁清晰的新信息作为合并后的提交注释

保存退出

比如修改前,有49个提交记录的注释

修改后:删除了之前所有的提交注释,重新提交一个注释"24247-4 鸿蒙内网升级需求提交" 然后保存退出

4.强制推送

本地历史已改写,必须强制同步到远程:

git push --force-with-lease

相关推荐
一只大袋鼠6 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
我叫张小白。14 小时前
Git 分支管理与团队协作
git
DogDaoDao15 小时前
Windows 下 Git 报错:`touch` 无法识别 —— 原因分析与 7 种解决方案(从入门到精通)
windows·git·程序员·npm·powershell·cmd·touch
caicai_xiaobai15 小时前
Ubuntu上Git安装步骤
linux·git·ubuntu
come1123416 小时前
git 区分是 Git 分支还是 worktree 路径名
git
憧憬成为java架构高手的小白17 小时前
git多人工作之个人规范使用【ai+个人理解】
git
CVer儿17 小时前
git简单操作
git
Andya_net17 小时前
Git | Git 核心命令深入解析:从原理到实战
大数据·git·elasticsearch
wh_xia_jun18 小时前
给小白的 Maven 命令行执行测试 完整指南
git·maven·intellij-idea
专业白嫖怪18 小时前
H3C UniServer R4950 G5 服务器压测实战:13根内存条24小时压力测试全流程
git