rebase小结 - git rebase origin master



Git Pull与Git Rebase (2)

我是Git的菜鸟,试图了解 git pullgit rebase 之间的区别。 有人可以提供一个示例说明何时使用哪个选项,因为我认为两者都具有相同的目的。

https://src-bin.com


Answer #1

git-pull-从另一个存储库或本地分支 GIT PULL 获取并与之集成

基本上,您是将远程分支拉到本地,例如:

git pull origin master

将主分支拉到您的本地存储库

git-rebase-将本地本地提交到更新的上游头 GIT REBASE

这是将您的本地更改置于其他用户远程完成的更改之上。 例如:

  • 您已经在本地分支上进行了一些更改,例如称为 SOME-FEATURE
  • 同时,您的朋友正在开发其他功能,他将自己的分支合并为master

现在,您想在本地分支上查看他和您的更改。 因此,您可以检出 master 分支:

git checkout master

那么您可以拉:

git pull origin master

然后转到分支:

git checkout SOME-FEATURE

并且您可以对base master 进行rebase,以从中获取最新更改,并将分支提交放在最前面:

git rebase master

我希望现在对您来说更加清楚了。


Answer #2

简而言之 :

-> Git Merge:它将仅合并您的更改和远程更改,这将创建另一个提交历史记录

-> Git Rebase:它将您的更改放在所有新的远程更改之上,并重写提交历史记录,因此您的提交历史记录将比git merge更清晰。 变基是一种破坏性操作。 这意味着,如果未正确应用它,则可能会丢失已完成的工作和/或破坏其他开发人员存储库的一致性。





git