git命令merge和rebase

飞上天的虫 / 2023-08-11 / 原文

Git merge和git rebase都是将两个分支合并的命令,但它们执行的方式和合并的结果有所不同。

Git merge会将当前分支和要合并的分支的最新提交点之间的差异合并成一个新的提交点,并创建一个新的合并提交。这个合并提交包含了两个分支的历史,但是会保留每个分支的独立提交记录。

Git rebase则是将当前分支上的所有提交点都移动到要合并的分支的顶部,再将两个分支合并成一个新的提交点。这个新的提交点包含了两个分支的历史,并且看起来像是一个线性的提交记录,而不是两个分支的交错提交记录。

因此,Git merge可以保留分支的历史记录,但会增加一个新的合并提交。而Git rebase则会使提交记录更加线性,但可能会丢失分支的独立历史记录。所以,选择哪种方式要根据具体情况来决定。

总结:

  • 融合代码到公共分支的时使用git merge,而不用git rebase

  • 融合代码到个人分支的时候使用git rebase,可以不污染分支的提交记录,形成简洁的线性提交历史记录。

 

参考文献:https://joyohub.com/2020/04/06/git-rebase/