git合并多个远程commit并提交

3 篇文章 0 订阅

文章参考: https://blog.csdn.net/qq_21744873/article/details/82629343

git rebase -i [commit_id]

commit_id 是 连续合并的多个分支的前一个commit的commit_id;

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

这时候,需要强制push上去  git push -f 

最后需要将本地已经rebase好的一个commit推送到远程分支上去时,需要使用 git push -f (force 强制覆盖);

[CASE_0]: git rebase -i [commit_id] 将自commit_id之后的所有提交至当前最近提交合并成一个提交

[CASE_1]: git rebase -i [commit_id] 将自commit_id之后的提交至指定到某个commid_id(不是最近的提交)合并成一个提交

(0). 使用git log 查看该分支的commit记录;

xmly@AresMacBook test_git % git log
commit 23d29b9335433ccf33aab0bbc86edbc43a55a2d4 (HEAD -> ares, origin/ares)
Author: Ares <ares.ding@ximalaya.com>
Date:   Thu Apr 2 11:22:18 2020 +0800

    [modify]: list.h添加list数据结构体声明;

commit 9285c05cabac903f35a30c2edbc9fb39bcd04a52
Author: Ares <ares.ding@ximalaya.com>
Date:   Thu Apr 2 11:15:54 2020 +0800

    [modify]: 修改main.c文件

commit 76ae611639d34c2a089fe6ba39ac52276bba6834
Author: Ares <ares.ding@ximalaya.com>
Date:   Thu Apr 2 11:14:22 2020 +0800

    [modify]: 修改list.c文件;

commit d2797ac9740316f44876c5e52f55e6ad01f05b0e
Author: Ares <ares.ding@ximalaya.com>
Date:   Thu Apr 2 11:13:33 2020 +0800

    [modify]: 修改list.h文件;

commit e819cf35cffd2a0b8ddde3679acc7fbe9825468b
Author: Ares <ares.ding@ximalaya.com>
Date:   Thu Apr 2 10:41:23 2020 +0800

     This is a combination of 3 commits.
    
    [addition]: add main.c file;
    
    [addition]: add mytypedef.h file;
    
    [addition]: add list.c/.h files;

commit 2dab1eb53d15372dd691fe767474bc808a68ad16 (origin/master, master)
Author: Ares <ares.ding@ximalaya.com>
Date:   Thu Apr 2 10:38:11 2020 +0800

    [addition]: add README.md file;
xmly@AresMacBook test_git % 

(1). 比如说我们想要把自[e819cf35cffd2a0b8ddde3679acc7fbe9825468b]以后的提交从[d2797ac9740316f44876c5e52f55e6ad01f05b0e]到[76ae611639d34c2a089fe6ba39ac52276bba6834]这两个连续的提交(当然也可以是连续两个以上的commit)合并成一个commit, 保留后面的两个commit[9285c05cabac903f35a30c2edbc9fb39bcd04a52], [23d29b9335433ccf33aab0bbc86edbc43a55a2d4], 那么应该怎么操作呢?

还是使用 git rebase -i e819cf35cffd2a0b8ddde3679acc7fbe9825468b

(2). 再次使用git log 查看一下本地提交记录:

(3). 记得将本地分支修改push到远程分支 使用强覆盖; git push -f;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值