我创建了一个github fork并进行了一些更改,然后创建了一个pull请求。经过一些修改后,我做了一些额外的更改并重新设置了我的fork(然后是我的本地副本),然后提交并再次推送它。
现在我的拉取请求包含了很多其他人的变化: 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之后我也解决了一些冲突)。< / p>
任何建议都表示赞赏。我正在使用pycharm和TortoiseGit。
答案 0 :(得分:3)
我做错了什么?
您直接从主分支(它应该反映upstream/master
分支,而不包括其他更改)制作您的PR
我该如何解决?
确保您有一个名为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
之上使用rebase)
After discussion,缺少的步骤为git fetch upstream
:OP只与master
或origin/master
合作,但这些并不重要:执行PR时,仅upstream/master
(原始回购的主要分支)非常重要,您的PR必须在其之上进行重新定位。