03 git merge & git rebase
git merge & git rebase
git merge
git merge会合并两个分支,并形成一个新的commit在合并分支上,因为合并后数据增加,需要重新计算hash值。新的commit指向两个parent。

git rebase
git rebase用于精简合并后的分支结构。
git rebase同样会合并两个分支,但是是找到两个分支的公共祖先,将别的分支之后所有新的commit先放到公共祖先后,再将自己分支所有新的commit放到后面。

注意:这会导致自己分支新的每一个commit重新计算hash值,因为它仅与文件数据有关,而新增了dev分支的内容再次计算hash值,得出的结果自然不同。
使用
对于git rebase的使用,应该在dev分支进行(将main分支的更新的部分rebase过来,自己更新的部分补充在后面)。
然后切换到main分支,merge合并dev分支。
git checkout dev |

参考资料
发布于