一张图快速理解 git merge 和 rebase 的基本区别,足以应对 merge 和 rebase 的通常场景下的使用。
一图胜千言:
图中实线圆圈表示一次提交 (git commit) ,虚线圆圈表示为某提交的引用
为便于理解,决定将上图做一下分解:
1.git 仓库分支 master 和 feature
2.git merge 示意图
当前分支在 feature,执行 git merge master
3.git rebase 示意图
当前分支在 feature,执行 git rebase master
结语:
- git merge 会将目标分支的提交合并到当前分支,并按照时间顺序保留历史提交记录
- git rebase 会改变当前分支的起始位置(变基:改变当前分支的基础为目标分支的最后一次提交),同时将当前分支的提交记录一次 “重新” 提交到目标分支
merge 和 rebase 还有更多丰富的使用技巧会在其他文章中进行分享,会陆续发布,敬请关注!