第一步是确保你的本地分支在它的主分支之上(假设它在它的 repo 'mainGitHubRepo' 中)
git fetch mainGitHubRepo master
git checkout -b mainGitHubMaster mainGitHubRepo/master
然后回到你的分支并在 mainGitHubMaster 上重放它:
git checkout Stacia
git rebase mainGitHubMaster
正如georgebrock在评论中提到的那样,您不必创建中间本地分支mainGitHubMaster
:您可以直接在 fetch 分支之上重新设置基础。
git checkout Stacia
git rebase maingithubrepo/master
之后,您可以将您的分支推送到您的 GitHub 分支,然后发出拉取请求。
要将本地分支推送到已建立的远程,您只需使用:
git push REMOTENAME BRANCHNAME
.
如果您不想在远程分支上使用相同的名称,您可以使用:
git push REMOTENAME LOCALBRANCHNAME:REMOTEBRANCHNAME
.
(这是大卫美元在他的回答git push heroku yourbranch:master
中提到的:)
注意:如果您在 GitHub 上有自己的分支,则可以直接在此分支的“主”上工作,这意味着您的拉取请求将来自“主”分支,从而增加您被考虑的机会。
但是上述过程仍然有效:您的拉取请求必须导致将集成您的更改的人进行微不足道的合并,因此要在本地进行 rebase 步骤。