git rebase 使用

git因为种种原因多次提交之后,通过push推送代码会出现如下情况
git rebase 使用
点击push会将多次提交的tag推送到分支上,可以在push之前使用rebase命令合并多次commit
在命令窗口输入命令 git log 如下,可以看到提交的日志以及版本号

git rebase 使用
现在开始合并test3 与test2 的commit,有两种方式,一种通过HEAD合并,另一种通过commitid合并。已HEAD合并为例子
输入命令 git rebase -i HEAD~2
HEAD~2 代表合并最近两次的提交。截图如下:
git rebase 使用
蓝色框中为待编辑区域,红色区域为命令列表,大绵英语不好,所以贴上了翻译

pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)

常用的也就是squash与fixup,都是合并。
编辑跟linux的vim命令类似,知道大绵不会,所以简单说一下 键盘输入 i 或者那个insert键,效果如下
git rebase 使用
下面会出现一个插入标识,然后开始编辑蓝色区域内容,
git rebase 使用
比如说这样,就把test3合并到test2,然后键盘按 esc键退出编辑,然后输入:wq 回车,保存编辑并执行。
git rebase 使用效果差不多这样,敲一下回车你可以得到一个这样的提示
git rebase 使用
代表合并成功了,咱们再push一下康康。
git rebase 使用
这样test3与test2已经合并了。
好了,结束。