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

相关推荐
Rabbit_QL19 小时前
【Git基础】03——Git 撤销与回退:改错了怎么办
大数据·git·elasticsearch
无限进步_19 小时前
【C++&string】寻找字符串中第一个唯一字符:两种经典解法详解
开发语言·c++·git·算法·github·哈希算法·visual studio
木下~learning19 小时前
零基础Git入门:Linux+Gitee实战指南
linux·git·gitee·github·虚拟机·版本控制·ubunt
zh_xuan20 小时前
修改远程仓库名以及和本地工程同步
git
读书札记202220 小时前
Git 配置用户名和邮箱 解决 fatal: unable to auto-detect email address 问题
git
程序员 沐阳21 小时前
Git 二分法精准定位 Bug:从原理到实战,让调试效率起飞
git·elasticsearch·bug
陳103021 小时前
Linux:入门开发工具--Git和GUN调试器
linux·运维·git
淼淼爱喝水1 天前
Ansible 常用文件模块详解(copy、file、fetch)
chrome·git·github
wdfk_prog1 天前
解决 Linux 使用符号链接的 Git 仓库在 Windows 下无法创建符号链接的问题
linux·windows·git
一个行走的民1 天前
git commit 常见类型
git