具体常见如下,假设有master和change分支,从同一个节点分裂,随后各自进行了两次提交commit以及修改。随后即为change想合并到master分支中,但是直接git commit和git push是不成功的,因为分支冲突了【master以及修改】
git merge实际上为即为先让git按照master和change分支提交顺序排列,分别到达各自顶端,随后执行merge commit具体如下图所示,git log命令查看的时候会存在多个提交记录,而且最终合并到feature分支中
代码
git checkout change
git pull origin master # 等于 git fetch origin master + git merge master change
具体如下图所示
git rebase实际上先移动到master顶端,即为更新所有change分支内的master分支内容,即为先更新master分支内容,随后对change分支直接移动到master分支顶端,在执行change分支内容,因此,最终合并记录较少
git checkout feature
git pull --rebase origin master # 等于git fetch origin master + git rebase master