Skip to content

Latest commit

 

History

History
5 lines (3 loc) · 972 Bytes

git的merge和rebase有什么区别.md

File metadata and controls

5 lines (3 loc) · 972 Bytes

Git的merge和rebase都是将两个分支合并的方法,但它们的实现方式不同,会对代码库的历史记录造成影响。

merge是将两个分支上的更改集合合并到一起,并形成一个新的提交节点。在merge时,Git 会自动创建一个新的提交节点,这个节点包含了两个分支的更改,同时保留了两个分支的历史记录。这样做可以避免各种冲突,并且保证每个分支的历史记录都被记录下来。

而rebase则是将当前分支的更改重新基于另一个分支进行重放。重放是指将当前分支中的所有提交按序应用到目标分支的最新提交之后。这样做的效果是让当前分支看起来像是从目标分支最新提交开始开发的,避免了一些无意义的merge节点,并且让提交历史线变得更加清晰。然而,rebase会对提交历史进行修改,因为它会把当前分支的提交作为全新的提交,而不是merge提交。