Git Rebase 和 Git Merge区别


假设这种情况:有主分支和两个名为f1和f2 的功能分支,其中包含主分支的精确副本,假设f1开发了自己的功能,然后合并到主分支。但是,您还一直在研究f2分支中的另一个功能,假设功能f1已合并到main并且对于功能f2分支的继续进行非常重要, 那么您现在卡住了,因为您一直在处理来自主 分支的旧代码,并且没有使用功能f1分支代码进行更新。
不采用Git rebase的方法是:从本地主分支拉取,然后将您的f2分支合并到主分支,并在更新时再次创建一个新分支f2功能,这是有道理的,但在技术上是愚蠢的。
相反,通过使用Git rebase功能,您可以将新更新的内容从主分支直接合并到您的功能分支,而无需创建任何其他不必要的分支。
 
Git Merge

  • 假设您创建了一个分支来开发单个功能。然后,当您想将这些更改带回 master 时,您可能需要合并.

Git Rebase
  • 如果您开始进行一些开发,然后另一个开发人员进行了不相关的更改。同样,你可能想pull,然后rebase ,以基于资源库中的当前版本进行更改。