有人知道它们的区别吗?在我看来,它们是一样的。但当我运行它时,它们并不做同样的事情:
git rebase origin/branch
- 从远程分支上变基是可以的
git rebase origin branch
- 会产生冲突。@Mar的回答是正确的,并且完美地解决了这个问题,只需添加一个评论。
如果您想基于远程主分支(即origin/master)重新定位分支,则仅使用git rebase origin/master
是不够的,它将无法直接从origin/master获取新提交。您需要在git rebase origin/master
之前先运行git fetch
命令。
或者您可以使用另一种方法来重新定位分支:
git checkout master
git pull origin master
git checkout {your branch}
git rebase origin/master
然后,您的分支就会更新到最新的提交。
git rebase <upstream> <branch>
等于
git checkout <branch>
git rebase <upstream>
默认情况下,<branch>
是 HEAD
。
[1] https://www.kernel.org/pub/software/scm/git/docs/git-rebase.html
git rebase origin/master
。
git pull origin/master --rebase
与其他步骤有什么区别吗? - medmekgit checkout {你的分支}
其实可以用git checkout -
代替,如果你最后所在的分支是你自己的话。 - nerdlyistcd -
相同。 - thorocgit checkout {your branch}
->git rebase origin/master
->git push
我认为这三个命令的作用是相同的,我对吗? - Georgi Georgiev