查了很多博客,最后看了 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不会覆盖了别人的代码,如果这个分支只有你维护那就可以为所欲为了

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

git合并多个远程commit并提交相关推荐

  1. git合并两个没有共同历史提交记录的分支:fatal: refusing to merge unrelated histories

    场景:某个git仓库原有 master 分支,后面自己本地新建了一个项目,然后把新建的这个推到了这个仓库的另外一个分支 feature/vue-pc .现在要对这两个分支进行合并,该如何操作? 正常情 ...

  2. git合并某个或某些提交到其他分支

    git合并某个或某些commit到其他分支 一.使用git 命令合并 1.git pull(下拉所有分支代码,预防冲突) 2.git log (查看提交的信息,复制你要合的提交的 commit id. ...

  3. Git创建分支拉取代码到本地提交代码

    创建Git分支 1.查看所有分支 git branch 2.创建本地分支 git branch mybranch //mybranch新创建的分支名 3.切换到创建的分支 git checkout m ...

  4. Git命令,合并分支到master,并提交远程仓库,将本地分支推送到远程仓库

    一.我们已经知道如何从远程仓库clone到本地项目中,接下来我们在开发项目中会为每一个单独的功能建立一个分支,并进入分支, git branch login //创建分支 git checkout l ...

  5. git——合并分支commit记录 squash提交

    在公司和别人协同合作时,作为开发需要向架构或者负责人提交mr以合并代码,为了提高review效率,有些负责人会要求一个mr仅保留一条commit记录方便代码比对review的观看,但是开发常常是很多需 ...

  6. git 合并冲突_GIT提交记录和Revert commit过程分析

    一.根据GIT提交记录查看提交过程 先做个git分支的背景介绍 图1 步骤说明 1⃣️ 项目A 默认分支是 master 2⃣️ 基于master分支创建 f1.f2.test分支 3⃣️ f1 发起 ...

  7. git 合并远程分支到本地

    本篇博客主要说的是:把远程分支拉取到本地解决完冲突之后,再推送到远程分支 1.首先本地所属分支与远程绑定的分支进行合并,使得远程和本地都处于最新状态: git add . git commit -m ...

  8. git cherry-pick 把提交到A分支的部分commit 再提交到B分支上

    应用环境: 有一个主分支 master (这个分支只是用来合并其他通过测试的分支,及上线打版本) 另一个分支 dev (开发提交的分支) 当你通过一番挣扎终于搞定一个bug,顺手提交到 git 服务器 ...

  9. Git 合并分支选项 --squash 合并提交历史

    git merge --squash <branchname> --squash选项的含义是:本地文件内容与不使用该选项的合并结果相同,但是不提交.不移动HEAD,因此需要一条额外的com ...

最新文章

  1. java 基本变量类型_Java自学-基本变量类型
  2. Python Web实时消息后台服务器推送技术---GoEasy
  3. 命名空间不能直接包含_C++程序中可以命名的5种元素
  4. 数据结构于算法—线性表
  5. python基础:try...except...的详细用法
  6. SVN中怎样忽略当前文件不提交
  7. 专访阿里云专有云马劲,一个理性的理想主义者
  8. axure中备注线_1分钟K线、日K线、月K线……不同周期的K线图到底有啥用?
  9. 机器学习基础算法21-多输出的决策树回归
  10. JavaScript高级程序设计第四版
  11. 运动控制器位置锁存功能的应用
  12. 内网DNS重要使用作用
  13. MAC地址-集线器-ARP
  14. 人脸测温门禁 传感器_测温人脸门禁什么牌子好
  15. drf接收、处理上传图片并写入文件
  16. JSP课程设计——民航售票管理系统
  17. BZOJ 4199 [Noi2015]品酒大会(后缀自动机 + parent树上统计)
  18. uniapp苹果打包(需使用苹果电脑)
  19. 中文、\uxxxx、\x xx、base64的相互转码
  20. mysql 表别名_MySQL 表别名(Alias)

热门文章

  1. linux 中重启 关机命令,Linux关机命令和重启命令说明
  2. 在ArcMap中批量创建文本框批量输出PDF
  3. 【第80期】浅谈如何成为技术一号位?
  4. 【ARM微型电脑/IoT设备/嵌入式】Linux Ubuntu 树莓派 Jetson nano设置PTP时间同步
  5. PYthon调整音乐音量,生成空白音乐
  6. 网络适配器坏网卡驱动安不好(代码56)The Realtek Network Controller
  7. 河北省唐山市谷歌高清卫星地图下载
  8. fastboot命令
  9. 数据钻取,详细数据一览无遗!
  10. 医咖会免费STATA教程学习笔记——如何使用stata自带的数据集