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一次就好了。
想要了解更多编程小知识,快来关注公众号:爪哇开发吧!每周会不定时的进行更新。

浙公网安备 33010602011771号