5

为什么我不能rebase从我可以的同一位置pull?例如,如果我在一个存储库中,我可以从另一个存储库中提取:

git pull /path/to/other

但是我不能从其他存储库中变基;以下失败:

git rebase /path/to/other

的帮助rebase没有提到任何参考规范,所以我不知道如何,或者即使,我可以/应该指定它们。

我怎样才能rebase从不同的位置?

4

2 回答 2

8

那是因为git pullgit rebase做完全不同的事情。

有什么git pull作用:

  1. 从某个远程存储库中检索提交并将它们放入远程跟踪分支。
  2. 将当前分支对应的远程跟踪分支合并到当前分支中。

有什么git rebase作用:

  1. 将当前分支的提交移到另一个分支之上。

(在这两种情况下,这些只是默认值。)

主要区别是git pull远程存储库上运行,而git rebase分支上运行。这就是为什么git rebase /path/to/other不起作用,/path/to/other不是一个分支。

但是,如果您想做什么git pull,除了您想做rebase而不是merge,您可以这样做:使用git pull --rebase.

于 2012-04-23T12:02:28.967 回答
3
git pull --rebase /path/to/other
于 2012-04-23T12:02:50.080 回答