利用git命令合并多条commit

首先利用git log查看commit记录,假设我们现在有4个 commit。

我们需要将 69c5cdd以及e3f6b15 合并成一个 commit,那么我们输入如下命令

其中,-i 的参数是不需要合并的 commit 的 hash 值,这里指的是从上往下的第四条commit,也是四个commit中最早的一条。 git rebase -i xxxxxxx 表示哈希值为xxxxxxx的commit之后的所有commit都可以更改。将接着我们就进入到 合并commit的编辑模式。

可以看到其中分为两个部分,上方未注释的部分是可以修改的指令,而下方注释的部分则是指令的提示说明。指令部分由命令名称(pick、squash等)、commit hash 和 commit message 组成。

当前我们只要知道 picksquash 这两个命令即可。

  • pick 的意思是要会执行这个 commit
  • squash 的意思是这个 commit 会被合并到上一个commit

我们将 69c5cdd这个 commit 前方的命令pick改成 squash s,然后输入:wq以保存并退出。

此时我们就是可以对69c5cdde3f6b15这两条commit修改。

退出后,我们会进入到修改commit message 的界面

其中, 非注释部分就是这两次的commit message, 你要做的就是将这两个message注释掉或者删掉,写一个新的commit message。

我们这里改成 This is a test conbiantion message!

输入wq保存并推出, 再次输入git log查看 commit 历史信息,你会发现这两个 commit 已经合并了。

 

注意事项:如果这个过程中有操作错误,可以使用 git rebase --abort来撤销修改,回到没有开始操作合并之前的状态。

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值