idea--git--如何将多次commit合成一个点

1 概述

        在平时开发中,git可以说是我们最不陌生的工具了。而且在提交线上代码或者是将自己功能分支上的代码给cherry-pick到预发分支上时,如果只提交了一个点那么直接cherry-pick就可以了,但是提交了很多点时,一个一个的cherry-pick岂不是太麻烦了吗?于是我们就可以将自己的提交的点压成一个点,然后在将自己压成的这个点cherry-pick就可以了。之前写过用命令行操作的,但是后来在工作中发现效率不是很高。有兴趣的可以看用命令行操作的:命令行--git--多次commit如何合并成一个commit_IT盛夏的果实的博客-CSDN博客_多次commit合并

2 操作

以上红框框起的是我最近提交的三次提交记录(第一次提交,第二次提交,第三次提交,其它的都是自己测试用的)。现在我想将这三次提交合并成一次提交,那么我应该怎样操作呢?

第一步:

鼠标放在自己的第一次提交上右键点击:Interactively Rebase from Here

 点击之后出现如下页面(Rebasing Commits):

 第二步:选中其中一次提交记录Ctrl+A进行全部选中

注意:Reword:可以对单个的commit进行修改

 第三步:点击Squash(如上图箭头所示)

 在这里可以对我们的提交信息进行修改,这里建议自己新填写提交信息并且将之前的提交信息删除一些,言简意赅(我这里是将之前的提交信息全部删除,自己新填写的提交信息)

 提交信息修改完毕之后,将鼠标选中提交信息框其它区域(否则Start Rebasing无法选中)

 第四步:点击Start Rebasing(如上图所示)

 此时我们git上的提交信息已经改变

第5步:进行 force push

force push到远程之后:自己进行压点的那三次的提交记录就会消失,只有自己填写最新的提交记录。 

注意:

1)如果是多人协助开发,force push要确定自己进行压点之前的代码是不是最新的,否则会将后来人提交的代码给覆盖掉。就bbq了。

2)这里因为是压点操作,一定要force push,不能选择push,否则idea会有提示,当你根据提示再去选择rebase操作时,代码就会回滚到压点之前的样子       

3)一定要在自己之前提交的分支上去进行压点操作,否则Interactively Rebase from Here无法选中

此时我们已经将自己多次提交压成一个点并且push到远程分支了。 这样做的好处就是方便我们cherry-pick到其他分支时,多次提交需要多次cherry-pick。这样合成一个点只需要cherry-pick一次就好了。

想要了解更多编程小知识,快来关注公众号:爪哇开发吧!每周会不定时的进行更新。

posted @ 2022-02-17 20:52  小猪不会叫  阅读(342)  评论(0)    收藏  举报  来源