当前位置:   article > 正文

命令行--git--多次commit如何合并成一个commit_git将多个commit合成一个commit

git将多个commit合成一个commit

在我们平时开发中,我们提交代码免不了要和git打交道,那么我们肯定是先从预发分支上(公司一般都用pre命名,这里为了方便演示用master)上拉去最新的代码,然后自己在上面在切一个自己的功能分支(gongeng)进行开发。

    但是如果我们一个功能模块开发完了之后,肯定提交了许多次,如果我们想把这么多提交记录都merge到我们的master分支上,肯定是不友好和不雅观的。所以我们需要将我们许多次的提交记录合成一次的提交记录,在合并到我们的pre分支上。(多说一句:一般自己的功能分支上开发完成之后,肯定是先合并到测试分支上先测试通过的,然后再将功能分支的代码合并到预发分支,这里为了方便,省去了测试分支)
  • 1

1 进入仓库 查看commit (命令:git log)

在这里插入图片描述

由此我们可以看见我在自己的功能分支上提交了3次记录分别按照时间倒序排列

2 使用rebase命令进行变基(命令:git rebase -i HEAD~3)

在这里插入图片描述

pick:保留该commit

squash:将该commit和前一个commit合并

故如果我们想要将此3次提价合并成一个提交,需要将commit2和commit3的pick改成squnsh(缩写“s”)也可。如下图:

在这里插入图片描述

提示:按“i”键即可进入vim编辑模式进行修改,修改完成之后,按“esc”键进行退出,再次按“:”进入底线命令模式,输入“wq”进行保存后会自动出现commit message信息界面。此时我们可以根据情况保留或者删除多余注释
在这里插入图片描述

完成之后我们继续保存退出(可按照之前的提示操作)
在这里插入图片描述

3 再次查看记录(命令:git log)

在这里插入图片描述

4 强制推送到远程(命令:git push -f)

提示:由于我是自己新建的分支,没有与远端建立连接 所以需要执行git push -f --set-upstream origin gongneng 命令,大家在公司开始只需执行git push -f命令即可

在这里插入图片描述

现在我们在自己的功能分支上已经将多个点压成了一个点(多个分支合成一个分支),现在只需将这一个点cherry-pick到我们的预发分支即可。

如果觉得命令行操作繁琐,不想用命令行操作,可以用idea图形化工具操作:idea–git–如何将多次commit合成一个点_IT盛夏的果实的博客-CSDN博客
————————————————
版权声明:本文为CSDN博主「IT盛夏的果实」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_50652600/article/details/120800309

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/68092
推荐阅读
相关标签
  

闽ICP备14008679号