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不会覆盖了别人的代码,如果这个分支只有你维护那就可以为所欲为了
到此,合并多个远程分支成功~
git合并多个远程commit并提交相关推荐
- git合并两个没有共同历史提交记录的分支:fatal: refusing to merge unrelated histories
场景:某个git仓库原有 master 分支,后面自己本地新建了一个项目,然后把新建的这个推到了这个仓库的另外一个分支 feature/vue-pc .现在要对这两个分支进行合并,该如何操作? 正常情 ...
- git合并某个或某些提交到其他分支
git合并某个或某些commit到其他分支 一.使用git 命令合并 1.git pull(下拉所有分支代码,预防冲突) 2.git log (查看提交的信息,复制你要合的提交的 commit id. ...
- Git创建分支拉取代码到本地提交代码
创建Git分支 1.查看所有分支 git branch 2.创建本地分支 git branch mybranch //mybranch新创建的分支名 3.切换到创建的分支 git checkout m ...
- Git命令,合并分支到master,并提交远程仓库,将本地分支推送到远程仓库
一.我们已经知道如何从远程仓库clone到本地项目中,接下来我们在开发项目中会为每一个单独的功能建立一个分支,并进入分支, git branch login //创建分支 git checkout l ...
- git——合并分支commit记录 squash提交
在公司和别人协同合作时,作为开发需要向架构或者负责人提交mr以合并代码,为了提高review效率,有些负责人会要求一个mr仅保留一条commit记录方便代码比对review的观看,但是开发常常是很多需 ...
- git 合并冲突_GIT提交记录和Revert commit过程分析
一.根据GIT提交记录查看提交过程 先做个git分支的背景介绍 图1 步骤说明 1⃣️ 项目A 默认分支是 master 2⃣️ 基于master分支创建 f1.f2.test分支 3⃣️ f1 发起 ...
- git 合并远程分支到本地
本篇博客主要说的是:把远程分支拉取到本地解决完冲突之后,再推送到远程分支 1.首先本地所属分支与远程绑定的分支进行合并,使得远程和本地都处于最新状态: git add . git commit -m ...
- git cherry-pick 把提交到A分支的部分commit 再提交到B分支上
应用环境: 有一个主分支 master (这个分支只是用来合并其他通过测试的分支,及上线打版本) 另一个分支 dev (开发提交的分支) 当你通过一番挣扎终于搞定一个bug,顺手提交到 git 服务器 ...
- Git 合并分支选项 --squash 合并提交历史
git merge --squash <branchname> --squash选项的含义是:本地文件内容与不使用该选项的合并结果相同,但是不提交.不移动HEAD,因此需要一条额外的com ...
最新文章
- java 基本变量类型_Java自学-基本变量类型
- Python Web实时消息后台服务器推送技术---GoEasy
- 命名空间不能直接包含_C++程序中可以命名的5种元素
- 数据结构于算法—线性表
- python基础:try...except...的详细用法
- SVN中怎样忽略当前文件不提交
- 专访阿里云专有云马劲,一个理性的理想主义者
- axure中备注线_1分钟K线、日K线、月K线……不同周期的K线图到底有啥用?
- 机器学习基础算法21-多输出的决策树回归
- JavaScript高级程序设计第四版
- 运动控制器位置锁存功能的应用
- 内网DNS重要使用作用
- MAC地址-集线器-ARP
- 人脸测温门禁 传感器_测温人脸门禁什么牌子好
- drf接收、处理上传图片并写入文件
- JSP课程设计——民航售票管理系统
- BZOJ 4199 [Noi2015]品酒大会(后缀自动机 + parent树上统计)
- uniapp苹果打包(需使用苹果电脑)
- 中文、\uxxxx、\x xx、base64的相互转码
- mysql 表别名_MySQL 表别名(Alias)