Github 上的某个用户有一个带有单个主分支的存储库。我已经将该存储库分叉到我自己的帐户中。我在自己的分叉存储库上创建了一个新分支,并对其进行了一些更改。
上游用户已将更改提交给他们的主人。我希望用这些更改来更新我的主人。此外,如果我理解rebase
正确,我想rebase
在那个 master 上建立我的分支。我不想与 master 合并,因为我还没有完成我的分支的开发。注意:上游修改的文件与我在分支修改的文件不同,所以不应该有冲突。
我尝试了以下方法:
我将上游用户的更改提取到我的本地存储库中:git pull upstream master
我将本地 master 的更改推送到我的分叉 master 中:git push origin master
我将本地分支重新建立在本地主节点上:git checkout mybranch
git rebase master
我试图将我重新定位的本地分支推送到我的分叉分支:git push origin mybranch
但是,我收到以下错误:
To https://github.com/myusername/myforkedrepository.git
! [rejected] mybranch -> mybranch (non-fast-forward)
error: failed to push some refs to 'https://github.com/myusername/myforkedrepository.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
请注意,这origin
是我的分叉存储库,并且upstream
是原始存储库。
stackoverflow 上有一个类似的问题,它提出了一个稍微简单的方法:
git fetch upstream
git rebase upstream/master
这没有给出任何错误,但它也没有向我的远程分叉推送任何内容。在尝试了上述之后,我再次尝试了
git push origin mybranch
但同样的错误仍然存在。
我将如何去做我想做的事?