Git:git rebase origin/branch 与 git rebase origin branch 的区别

56
有人知道它们的区别吗?在我看来,它们是一样的。但当我运行它时,它们并不做同样的事情: git rebase origin/branch - 从远程分支上变基是可以的 git rebase origin branch - 会产生冲突。
3个回答

74

@Mar的回答是正确的,并且完美地解决了这个问题,只需添加一个评论。

如果您想基于远程主分支(即origin/master)重新定位分支,则仅使用git rebase origin/master是不够的,它将无法直接从origin/master获取新提交。您需要在git rebase origin/master之前先运行git fetch命令。

或者您可以使用另一种方法来重新定位分支:

  1. 切换到主分支:git checkout master
  2. git pull origin master
  3. 切换回您自己的分支:git checkout {your branch}
  4. git rebase origin/master

然后,您的分支就会更新到最新的提交。


2
第四步 git pull origin/master --rebase 与其他步骤有什么区别吗? - medmek
4
刚学到一个新东西,git checkout {你的分支}其实可以用git checkout -代替,如果你最后所在的分支是你自己的话。 - nerdlyist
2
@nerdlyist 的意思与 cd - 相同。 - thoroc
@thoroc,太棒了。 - nerdlyist
git checkout {your branch} -> git rebase origin/master -> git push 我认为这三个命令的作用是相同的,我对吗? - Georgi Georgiev

52

15
最后一步应该是:git rebase origin/master

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接