在重新设置我的 github 分支后,其他人的提交在我的拉取请求中

After rebasing my github fork, commits from others are in my pull request

我创建了一个 github 分支并进行了一些更改,然后创建了一个拉取请求。经过一些修改后,我做了一些额外的更改并重新设置了我的分支(然后也是我的本地副本),然后再次提交并推送它。

现在我的拉取请求也包含其他人的大量更改: https://github.com/pandas-dev/pandas/pull/14505/files

我做错了什么,我该如何解决?我只更改了 3 个文件(pandas/io/json.py、pandas/io/tests/json/test_json_norm.py 和 doc/source/whatsnew/v0.18.1.txt(我在 rebase 后也解决了一些冲突)。

如有任何建议,我们将不胜感激。我正在使用 pycharm 和 TortoiseGit。

What did I do wrong?

您直接从 master 分支创建了 PR(应该反映 upstream/master 分支,不包括其他更改)

and how can I fix it

确保你有一个名为 upstream 的远程引用原始仓库(你分叉的那个)

git remote -v
# if needed
git remote add upstream /url/original/repo

然后从 upstream/master

创建一个分支
git fetch upstream
git checkout -b myPR upstream/master

最后,挑选代表您的更改的提交

git cherry-pick myFirstCommit..myCurrentCommit

并从该分支创建一个 PR(您可以稍后像以前一样更新,但在 upstream/master 之上进行变基)

After discussion,缺少的步骤是 git fetch upstream:OP 仅与 masterorigin/master 一起工作,但这些在这里并不重要:在进行 PR 时,只有 upstream/master(原始 repo 的主要分支)是重要的,你的 PR 必须基于它。