git合并多个远程commit并提交

查了很多博客,最后看了 https://segmentfault.com/a/1190000007748862 成功地把本地的提交合并了。不过因为我这些commit已经push到远程上了,所以和文章里的步骤有点不同,这里把自己用的方法分享一下。

比如,如果我们想合并 最近三个 提交

首先查看提交历史: git log

commit 3ca6ec340edc66df13423f36f52919dfa3......

commit 1b4056686d1b494a5c86757f9eaed844......

commit 53f244ac8730d33b353bee3b24210b07......

commit 3a4226b4a0b6fa68783b07f1cee7b688.......

然后执行  git rebase -i HEAD~3

或执行  git rebase -i 3a4226     填的是第4个commit的版本号,即合并这个commit之后的所有commit (不包括这个)

执行了rebase命令之后,会弹出一个窗口

pick 3ca6ec3   '注释**********'

pick 1b40566   '注释*********'

pick 53f244a   '注释**********'

将除了第一个的pick,其他都改为 s 或 squash

pick 3ca6ec3   '注释**********'

s 1b40566   '注释*********'

s 53f244a   '注释**********'

修改后保存退出,这时 git log 一下,发现提交已经合并

到这里以后,  git status  后会看到,提示让你git pull一下,千万不要这样做!否则你会发现这三条白合并了,还平白多了两条commit

这时候,需要强制push上去  git push -f , 当然要确保强制push不会覆盖了别人的代码,如果这个分支只有你维护那就可以为所欲为了

到此,合并多个远程分支成功~

  • 28
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值