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

相关推荐
Wpa.wk4 小时前
Git日志+分支管理+基础冲突解决
经验分享·git·测试工具
香水5只用六神11 小时前
【DMA】存储器到外设模式实验2
c语言·git·stm32·单片机·嵌入式硬件·github·visual studio
★浅_忆11 小时前
Git入门基础命令
git
待什么青丝12 小时前
同步 Git 仓库修改操作指南
git
Penguido12 小时前
解决 VS Code 中 Git 推送报错:ECONNREFUSED vscode-git.sock 与鉴权失败
linux·git·vscode
无限进步_13 小时前
【C++】只出现一次的数字 III:位运算的巧妙应用
数据结构·c++·git·算法·leetcode·github·visual studio
降临-max13 小时前
Git 从入门到进阶:基础命令与多分支
git
float_六七14 小时前
Git忽略规则终极指南
大数据·git·elasticsearch
无限进步_15 小时前
深入解析vector:一个完整的C++动态数组实现
c语言·开发语言·c++·windows·git·github·visual studio
Codeking__15 小时前
git常用命令小总结
git