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

相关推荐
那年窗外下的雪.15 小时前
AIDC 学习日志|第 21 天|EVPN 多归属故障演练与中断窗口定位
网络·git·学习
玖石书18 小时前
Git Submodule 完全指南:从添加到日常维护的常规操作全流程
大数据·git·elasticsearch
微尘寒风21 小时前
git创建版本库
git
console.log('npc')1 天前
Git 冲突与 AI 协助指南
前端·人工智能·git·大模型
重生之我来学Python2 天前
Git-SVN 混合开发,从入门到精通!
开发语言·git·svn·github
笨笨饿2 天前
#137_死机恢复现场_Armino平台AP系统swd调试
git·python·stm32·单片机·嵌入式硬件·物联网·vim
King of fraud2 天前
Git 入门:从零开始的版本控制之旅
git
AI大模型-小华2 天前
Codex CLI第一次怎么用?从安装到读取本地项目完整教程
git·node.js·ai编程·开发工具·代码分析·codex·codex cli
2401_861678622 天前
Git 在 Windows 使用
windows·git·elasticsearch
青禾8372 天前
Git 与 SVN 完全指南:从集中式到分布式的版本控制
分布式·git·svn