原文网址:Idea--git合并多次commit为一个(合并提交)--实例_IT利刃出鞘的博客-CSDN博客

简介

说明

本文用实例介绍如何合并git的提交。用Idea可视化和命令行操作两种方法进行展示。

为什么需要合并提交

实际开发会有这种场景:开发在开发分支修复了某个bug,但提交了多个commit,将它cherry pick到测试分支很麻烦,如果只将一个提交cherry pick到测试分支就会很方便。

action含义

pick:git会应用这个补丁,以同样的提交信息(commit message)保存提交
reword:git会应用这个补丁,但需要重新编辑提交信息
edit:git会应用这个补丁,但会因为amending而终止
squash:git会应用这个补丁,但会与之前的提交合并
fixup:git会应用这个补丁,但会丢掉提交日志
exec:git会在shell中运行这个命令

方案1:使用Idea

实例

需求描述

下边红框里的3此提交已经push到远程仓库,现在想把它合并为一条,这样方便cherry pick到其他分支。

第1步:在首次提交记录上rebase

本处的首次提交是“第1次修改”。

右键“第1次修改”=> Interactively Rebase from Here

第2步:合并提交(选squash或fixup)

选中“第2次修改”=> 点击“Squash”
选中“第3次修改”=> 点击“Squash”

这里也可以ctrl+A,然后点击“Squash”,效果一模一样。

结果如下:

  1. 第1次提交默认是“pick”。本处Idea无法设置,写死是pick
  2. Reword:可以修改单个的提交信息
  3. Squash那个下拉还可以选择“fixup”。

第3步:重命名提交

选中“第1次修改”=> Reword=> 输入新的提交信息

修改“第1次提交”为:“第1,2,3次提交”,改完效果如下

第4步:执行rebase

点击上边一步的“Start Rebasing”之后,提交结果如下:(3条提交合并为了一条)

第5步:push

本步我采用Force Push,因为这个bug分支只有我自己改。

如果他人也在这个里边,要用Merge,见下方“push详解”。如果与别人在同一个分支,还Force Push,会覆盖别人的代码,小心被套麻袋挨打

Idea--git合并多次commit为一个(合并提交)--实例相关推荐

  1. git 合并多次commit

    如果当前分支提交了多次commit,无法merge到master上,就需要合并多出的几次commit 第一步 查看log: git log 通过log我们发现,我们想合并红框中的两次commit, 第 ...

  2. idea取消comiit_IDEA 合并多次commit为一个?

    答完以后我只想吐槽下,这种操作还是命令行里来的方便.答案里提供了3种操作流程,个人习惯第2种方式,但这个只适合压缩最后n个commit的情况.第一种方式最佳,建议熟练掌握.第三种方式纯粹蛋疼,可以不看 ...

  3. git 相同commit_Git 合并多次 commit 、 删除某次 commit

    Git 合并多次 commit 有时候在一个分支的多次意义相近的 commit,会把整个提交历史搞得很混乱,此时可以将一部分的 commit 合并为一个 commit,以美化整个 commit 历史, ...

  4. git 合并多次提交

    文章目录 1 为何要合并多次 commit 2 导致多次 commit 的场景 3 合并本地多次提交 3.1 做3次提交 3.2 开始合并 3.3 rebase 完成后本地 log 3.4 git p ...

  5. git合并多次提交为一次提交

    ** 背景 ** 有时候新人在git上提交代码时,如果不符合要求,会出现反复修改,导致提交次数过多,无法形成有效提交和回退,因为可能中间提交的版本有问题.所以查找一下是否有合并多次提交为一次有效提交的 ...

  6. Git合并多次commits

    今天遇到了需要合并git分支的情况,搜索研究了一下,整理了两种方式: 1.IDE上操作git合并.我这里用的是phpstorm,就只介绍下phpstorm上合并分支的操作. 选中需要合并的分支,点击右 ...

  7. 使用Git将我的最后一个X提交一起压缩

    如何使用Git将最后的X个提交一起压缩为一个提交? #1楼 根据克里斯·约翰森的回答 , 从bash添加全局" squash"别名:(或Windows上的Git Bash) git ...

  8. git、sourcetree commit 到HEAD分支提交代码出现的的问题

    今天提交的时候,莫名其妙的出现了HEAD分支,我也没注意看,写提交内容,提交并且推送远程,完事仔细一看本地代码,是旧代码(卧槽,心里一万个草腻马)怎么回事,我三天写的代码就这样被干没了?以往我都没提交 ...

  9. 从git commit号码 revert_git revert amp; git rebase amp; commit 分支图

    今天学了几个git技巧,分享下: 问题一:上线后的代码出现问题,如何回滚代码? 代码合入master之后,上线发现有问题,其他同事也等待上线,怎么办? 使用git revert .参考 How to ...

最新文章

  1. linux sit0 wifi,I.MX6 AW-NB177NF wifi HAL 调试修改(示例代码)
  2. java值传递试题_面试题:java参数传递 | 学步园
  3. 佛山市南海技师学校计算机类,佛山南海信息技术学校2021年有哪些专业
  4. 3 View - 状态保持 session
  5. 取磁碟名稱 c++_安徽CDCSCONT PLUS/R/C/E生产厂家,联锁板生产厂家
  6. windows下python3用pip安装kivy和kivy示例
  7. prim算法_数据结构 7.4.1 最小生成树 Prim
  8. 魔方机器人之下位机编程-----两种串口通信方式的比较
  9. DM6437的学习过程
  10. 打印机显示服务器脱机是什么原因,脱机使用打印机是什么意思?脱机打印机状态显示错误怎么办...
  11. Vue+element搭建后台管理系统-二、安装插件
  12. php阴阳万年历转换的接口,PHP编程实现阳历转换为阴历的方法实例
  13. 【物理学术竞赛】——绳上的球(再续)
  14. 教师使用计算机备课,计算机教师备课的几点看法
  15. 用devc++表白_「你表白,我宠你」520—实验猿的表白日,小析姐的“宠粉”节
  16. 小程序swiper 自定义样式修改
  17. Given a binary search tree with its preorder traversal sequence { 8, 2, 15, 10, 12, 21 }.…
  18. 洛谷-P1314-聪明的质检员
  19. PN532NFC模块串口通信使用教程
  20. 解决Ubuntu无线网卡突然无法连接

热门文章

  1. Typing for mac(打字训练工具)
  2. 2023最新最全vscode插件精选
  3. 宜立方商城第二天心得
  4. Altium Designer快捷键总结
  5. 使用EasyPOI导出Excel模板数据(含图片)
  6. Linux驱动编写入门-新解
  7. R语言作图——violin plot(小提琴图)
  8. python 苹果笔记本电脑报价_千万别花冤枉钱!大学生买本得这么选!
  9. 华为狼文化被喷,任正非回应:华为没有996,更没有007!
  10. 知识普及:KB=Kb?