栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Idea--git--合并多次commit为一个/合并提交--实例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Idea--git--合并多次commit为一个/合并提交--实例

原文网址: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,会覆盖别人的代码,小心被套麻袋

 Force Push,结果如下:(成功提交)

注意事项

上一步中,如果选择“Push”,而不是“Force Push”,则push被拒绝,需要选择操作:

“Merge”:原先的3条提交信息还在,只是会新生成1个整合后的提交。

“Rebase”:后边需要force push,原先的3条提交信息会被替换为1条提交。

若选择“Merge”

        如果点击“Merge”,原先的3条提交信息还在,只是会新生成一个整合后的提交(示例中是“第1,2,3次修改”)。

结果如下:

若选择“Rebase”

结果:

此时需要Force Push,结果如下:(成功提交)

如果上一步又选了“Push”,结果如下:(再次出现了选择“Merge”还是“Rebase”)

 如果点击“Rebase”,结果如下:(提交记录恢复原样)

  如果点击“Merge”,结果跟上边“若选择“Merge””是一样的:

方案2:使用命令
  1. git rebase -i revisionNumber
    1. revisionNumber 是提交区间的开始的前一条提交记录的版本号
  2. 交互界面
    1. 第一条为 pick 其他的改为S或者squash
    2. 此时可以修改提交信息(只修改最上边的一条即可)
  3. push
其他网址

使用IDEA进行commit合并(折叠) - huanghaunghui - 博客园

idea如何把git的多次commit合并为一条_oldshaui的博客-CSDN博客

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/345369.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号