这里的问题是您的master分支包含不属于上游存储库的提交(特别是合并提交)。因此,您基于该master分支的任何分支也将具有这些提交,因此任何要求将这些分支之一合并到上游master的PR都将包括这些提交。
要解决此问题,您可以将本地母版库从上游存储库重新部署到母版库。默认情况下,git rebase忽略合并提交,因此这应该从分支的历史记录中消除任何多余的提交。假设您已将上游存储库设置为名为的远程站点upstream,则可以这样进行:
git fetch upstream
git checkout master
git rebase upstream/master
git push -f origin master
Run Code Online (Sandbox Code Playgroud)
或者,如果您确定您的master分支中没有要保留的更改,这些更改尚未出现在上游存储库的master分支中(根据问题中的说明,应该是这种情况),您可以简单地将其重置以匹配上游主服务器:
git fetch upstream
git checkout master
git reset --hard upstream/master
git push -f origin master
Run Code Online (Sandbox Code Playgroud)
完成此操作后,将功能分支重新建立到新的master分支上:
git checkout feature
git rebase master
git push -f origin feature
Run Code Online (Sandbox Code Playgroud)
这应该从您的拉取请求中删除多余的合并提交。