Git:差异"git rebase origin/branch"VS"git rebase origin branch"

Ada*_*dam 13 git rebase

有谁知道有什么区别?在我看来,它是一样的.但是当我运行它时,它没有做同样的事情:

git rebase origin/branch - 来自远程分支的ok rebases

git rebase origin branch - 发生冲突

svl*_*sov 19

git rebase <upstream> <branch>
Run Code Online (Sandbox Code Playgroud)

等于

git checkout <branch>
git rebase <upstream>
Run Code Online (Sandbox Code Playgroud)

默认<branch>HEAD.

[1] https://www.kernel.org/pub/software/scm/git/docs/git-rebase.html


Xio*_*LIN 12

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

如果你想基于远程主分支重新分支一个分支git rebase origin/master,这是不够的,它不会直接从origin/master获得新的提交.你需要git fetch在'git rebase origin/master'之前.

或者您可以使用其他方式来修改分支.

第1步:切换到主人 git checkout master

第2步: git pull origin master

第3步:将bach切换到您自己的分支 git checkout {your branch}

第4步: git rebase origin

然后,您的分支更新为最新提交.

  • 刚刚学了这个,但是如果你所在的最后一个分支是你的,那么 `git checkout {yourbranch}` 实际上可以是 `git checkout -` (4认同)
  • 第四步与“git pull origin/master --rebase”有什么不同吗? (2认同)
  • @nerdlyist 与 `cd -` 的逻辑相同。 (2认同)

小智 6

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