赞
踩
在我们平时开发中,我们提交代码免不了要和git打交道,那么我们肯定是先从预发分支上(公司一般都用pre命名,这里为了方便演示用master)上拉去最新的代码,然后自己在上面在切一个自己的功能分支(gongeng)进行开发。
但是如果我们一个功能模块开发完了之后,肯定提交了许多次,如果我们想把这么多提交记录都merge到我们的master分支上,肯定是不友好和不雅观的。所以我们需要将我们许多次的提交记录合成一次的提交记录,在合并到我们的pre分支上。(多说一句:一般自己的功能分支上开发完成之后,肯定是先合并到测试分支上先测试通过的,然后再将功能分支的代码合并到预发分支,这里为了方便,省去了测试分支)
如果觉得命令行操作繁琐,不想用命令行操作,可以用idea图形化工具操作:idea–git–如何将多次commit合成一个点 - 编程屋
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信息界面。此时我们可以根据情况保留或者删除多余注释
完成之后我们继续保存退出(可按照之前的提示操作)
以上只是部分内容,为便于维护,本文已迁移到此地址:命令行–git–多次commit如何合并成一个commit~编程屋
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。