合并commit,让你的主干干净起来!

在开发一个需求时,可能会因为review意见修改、解bug等事务导致一个需求会有多个commit,当这个需求提交到主干时,会让主干提交记录变得十分混乱,对于后续代码维护也不是很友好。

所以,合并多个本地的commit变得十分有必要且重要。

连续commit
git rebase -i HEAD~3

3 代表想要合并最近两个commit,想搞几个就写几就好了。

命令输入后,会出现

pick 5ff9f11 test 1
pick 9fd1a2c test 2
pick 62ee3cd test 3

从第二行起将pick改为s(squash)

pick 5ff9f11 test 1
s 9fd1a2c test 2
s 62ee3cd test 3

保存退出即可。

不连续的commit

通过git log找到想要合并的提交前一个commit ID

git log

出现提交记录

commit b132b8b2d739b7adf924f560b367249acc55bda2 (HEAD -> master)
Author: kiba-zwei <xingbinkiba@163.com>
Date:   Thu Jun 24 22:12:04 2021 +0800

    test 3

commit d017d5d1c8a9ff3b11d8b8466f46e2462d269006
Author: kiba-zwei <xingbinkiba@163.com>
Date:   Thu Jun 24 22:11:39 2021 +0800

    test 2

commit 012e1365b8094b6b921695486d1182a29070f1e3
Author: kiba-zwei <xingbinkiba@163.com>
Date:   Thu Jun 24 22:10:58 2021 +0800

    test 1

commit 63696792b435dcd1c20aac27cd01ebb3cff6049b (origin/master, origin/HEAD)
Author: kiba-zwei <xingbinkiba@163.com>
Date:   Mon Apr 5 08:26:48 2021 +0800

例如,本次想要合并 test 1 和 test 3两个提交,则需要找到test 1前的commit ID 即 63696792b435dcd1c20aac27cd01ebb3cff6049b ,输入命令

git rebase -i 63696792b435dcd1c20aac27cd01ebb3cff6049b

命令输入后,会出现

pick 012e136 test 1
pick d017d5d test 2
pick b132b8b test 3

将要合并的commit放在一起,并从第二行起pick改为s

pick d017d5d test 2
pick 012e136 test 1
s b132b8b test 3

保存退出即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kiba_zwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值