我的工作流程:
$ 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)
使用 github 网络界面创建 git@github.abc.abc.com:companyname/dev.git。创建 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
现在转到 github 网页界面上的 git@github.abc.abc.com:abc/dev.git
并为 upstream/master 创建一个 PR:
merge PR 后,执行:
7. git checkout upstream-master
8. git pull --rebase
现在我的本地 upstream-master
有 PR merge 提交,但是 master
(即 origin/master)没有。
问:我应该基于哪个分支以及为什么?
在第 7 步和第 8 步之后我应该做什么
git rebase origin-master
或者我应该做什么
git checkout origin-master
git rebase upstream-master
最佳答案
如果你想在本地 master 中检索在远程 upstream/master 分支上 merge 的东西,你应该:
git checkout master
将自己定位到要更新的本地分支
然后
git rebase upstream/master
从 remove upstream/master 分支中检索修改到您当前的本地分支
关于git - 对 git rebase 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31845179/