Git基础操作:将多个commitid合并成1个

有时候我们回头看之前提交的commitid会发现有些随意,打算整理一下,我们要将最近的几次commit合并成一个commit,可以使用git rebase的交互模式(interactive rebase)来实现。

操作步骤(以合并最近的 3 次提交为例):

启动交互式变基

执行以下命令(HEAD~3 表示合并最近的 3 次提交):

git rebase -i HEAD~3

如果想合并最近 N 次提交,将 3 替换为 N。

编辑提交列表

终端会打开一个编辑器(如 Vim),显示类似以下内容:

pick c1a2b3d Commit 1   # 最早的提交
pick d4e5f6g Commit 2
pick e7f8h9i Commit 3   # 最近的提交

将 后两次提交 前的 pick 改为 squash(或简写 s),保留最旧的一次为 pick:

pick c1a2b3d Commit 1
squash d4e5f6g Commit 2
squash e7f8h9i Commit 3

保存并关闭编辑器(Vim 按 :wq 退出)。

编写新提交信息

Git 会再次打开编辑器,让你修改合并后的提交信息:

# 这是三次提交的合并:
# Commit 1
# Commit 2
# Commit 3

删除所有内容,重写为一条新提交信息(例如:feat: 合并最近三次提交)。
保存并关闭编辑器(Vim 按 :wq 退出)。

完成合并

若没有冲突,Git 会自动完成操作。
若有冲突,按提示解决后执行:

git add .                # 标记冲突已解决
git rebase --continue    # 继续变基

强制推送到远程仓库(如果已推送过)

git push -f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值