合并分支-Merge VS Rebase

参考资料

文章
Git ‘merge’ 和 ‘rebase’ 之间的区别|极客笔记
git rebase详解(图解+最简单示例,一次就懂)-CSDN博客
图解 Git 基本命令 merge 和 rebase - Michael翔 - 博客园
视频
【IT老齐235】Git Rebase vs Git Merge,代码合并到底用哪个?_哔哩哔哩_bilibili
五分钟学会git rebase和 git merge的区别_哔哩哔哩_bilibili
git常用操作–git rebase和git merge_哔哩哔哩_bilibili
不会使用 git rebase 合并代码?这位颜值颇高的程序员被公司开除了 #83_哔哩哔哩_bilibili

marge和rebase图解

merge

将dev分支merge到master分支上

将master分支merge到dev分支上

rebase

将master分支以dev进行变基

将dev分支以master进行变基

rebase 关键在于「基」,git rebase <基分支>,就是将当前基分支与当前分支的差异提交获取到,然后在「基分支」最新提交点后面将差异提交逐个再次提交,最后将当前分支的 HEAD 指针指向最新的提交点。「基分支」的 HEAD 位置是不变的,要想完成分支合并,完成变基之后,还需要再进行分支间的合并等操作。

优缺点及比较

使用场景建议

子分支上执行 - rebase master 相当于子分支拉取最新的公共分支代码

master分支上执行 - merge 子分支 相当于将子分支代码合并到公共分支上

压缩commit-Rebase

使用IDEA Git把多次提交合并成一次操作_idea 如何将远程仓库多次提交改为单次-CSDN博客
IDEA中将多次commit合并为一次后push到远程仓库_多次commit一次push-CSDN博客