git merge
保留所有 commit 的历史时间,并形成 merge 时间为基准的网状结构。
上图展示创建 dev 分支后,分别在 master 和 dev 分支进行变更,最后在 dev 分支 merge master 分支。使用 gitk
命令查看日志情况:
git rebase
把“变基”分支的变化放到前面,本地变更放置在后面。
上图展示 rebase 变更过程,dev 分支合并时,会将 Master 的变更放在前面,本地变更放在后面。使用 gitk 查看日志:
总结
merge 和 rebase 都用于合并不同分支的变更。不同在于,merge 保留分支的时间点形成网状结构;rebase 将不同分支重新整理为一条变更路径。