对 git 变基感到困惑

Confused about git rebase

我的工作流程:

$ git remote -v
origin  git@github.abc.abc.com:abc/dev.git (fetch)
origin  git@github.abc.abc.com:abc/dev.git (push)
upstream  git@github.abc.abc.com:companyname/dev.git (fetch)
upstream  git@github.abc.abc.com:companyname/dev.git (push)

Fork git@github.abc.abc.com:companyname/dev.git 使用 github 网络界面。创建git@github.abc.abc.com:abc/dev.git

现在:

1. git clone git@github.abc.abc.com:abc/dev.git
2. git remote add origin git@github.abc.abc.com:abc/dev.git
3. git remote add upstream git@github.abc.abc.com:companyname/dev.git 
4. git checkout -b upstream-master upstream/master
5. git checkout -b master origin/master

现在修改一些代码并在本地主分支上创建一个提交。

5.1. git add somecode.c
5.2. git commit -m "my commit for which I will make a PR" 
6. git push origin master

现在转到 git 中心 Web 界面上的 git@github.abc.abc.com:abc/dev.git 并为 upstream/master 创建一个 PR:

合并 PR 后,执行:

7. git checkout upstream-master 
8. git pull --rebase

现在我的本地 upstream-master 有 PR 合并提交,但 master(即 origin/master)没有。

问:我应该基于哪个分支以及为什么?

在第 7 步和第 8 步之后我应该做什么

git rebase origin-master

或者我应该做

git checkout origin-master 
git rebase upstream-master

如果您想在本地 master 中检索在远程 upstream/master 分支上合并的内容,您应该:

git checkout master

将自己定位到要更新的本地分支

然后

git rebase upstream/master

从删除 upstream/master 分支中检索修改到您当前的本地分支