参考资料:https://juejin.im/entry/6844903600976576519 (git命令)
背景
我们在写代码有时候会碰到这种情况,我们自己写的代码在本地无法测试,需要部署到服务器测试,如果有问题,还需要继续commit代码,这样我们完成一个需求可能需要提交多次,这样容易造成版本控制的混乱,也不方便review代码,所以这个时候我们就需要去合并多个提交变成一个。
合并提交
合并提交有两种方式 git命令行方式和IDEA页面操作方式
IDEA页面操作方式
这个需要看一下IDEA的版本啊。我笔记本上的IDEA2019.3上没有,但是公司电脑的IDEA2020.2上已经有了,
比如下面,我想合并下面三个提交,直接选中,右键-->Squash Commits ,如下图

然后修改下commit message就好了

十分的方便。说实话用完IDEA这种的,再用命令行就感觉非常的麻烦。两种我都测试下,但是我还是将命令行的以及参考的文章放到下面。
git命令行
git命令行使用命令
git rebase -i HEAD~2
上述命令指的是对前两个提交的合并
git rebase -i 版本号
上述命令指的是对版本号以后至最新的提交的合并
执行完上面命令后会进入另一个shell,如下图
这个图修改下第二个pick改为s,然后保存即可(如果想把这些commit合并的话,我们目前只讲合并这块)

修改完后回跳到另外一个shell,这里是修改commit的message,修改一下就可以了。
特别详细的可以参考下https://juejin.im/entry/6844903600976576519 这篇文章
网友评论