Git Rebase Origin/Branch 对比 Git Rebase Origin Branch

本文讨论 git rebase origin/branch 和 git rebase origin branch 命令之间的区别。 我们使用这两个命令从远程变基,但实际用途各不相同,我们将在稍后讨论。


git rebase origin/branch 与 git rebase origin master 命令之间的区别

为了了解这两个命令之间的区别,让我们看看每个命令的作用以及它们遵循的工作流程。

git rebase origin/branch 命令

让我们看看下面的例子:

$ git rebase origin/master

这个命令意味着我们想要从我们上游的 master 分支变基一个分支。 但是,命令本身无法完成工作。

在运行此命令之前,您需要从上游 master 分支获取。

或者,您可以使用传统方式:

  1. 使用 git checkout master 命令切换到您的主分支。
  2. 使用 git pull origin master 命令从上游 master 分支中拉取。
  3. 使用 git checkout <branch-name> 命令切换回要变基的分支。
  4. 现在,您可以运行 git rebase origin/master 。

这应该使用上游 master 分支中的提交更新您分支中的提交。

git rebase origin master 命令

git rebase origin master 是两个提交的组合。

$ git checkout master

$ git rebase origin

我们都知道 git rebase origin 意味着我们要从 origin 的跟踪分支或者换句话说,我们的上游进行 rebase。 因此,我们可以推断 git rebase origin master 将切换到我们的 master 分支并将其从远程跟踪分支变基。

如果您的 master 分支没有远程跟踪分支,该命令将失败。 您可以通过设置上游跟踪分支来解决此问题,如下所示:

$ git branch --set-upstream-to=origin/master

在运行上面的命令之前,请确保您已在 master 分支中签出。


总结

从上面我们可以得出结论,git rebase origin master 用于从上游 tracking 分支 rebase master 分支,而 git rebase origin/master 用于从上游master 分支rebase 特定分支。

但是,git rebase origin/master 不会在上游 master 分支中获取新的提交。 在变基之前,您必须更新本地 master 分支。