I have created a github fork and made some changes, then created a pull request. After some revisions, I made some additional changes and rebased my fork (and then also my local copy), then committed and pushed it again.
Now my pull request contains plenty of changes of other people as well: https://github.com/pandas-dev/pandas/pull/14505/files
What did I do wrong and how can I fix it? I only changed 3 files (pandas/io/json.py, pandas/io/tests/json/test_json_norm.py and doc/source/whatsnew/v0.18.1.txt (where I also resolved some conflicts after my rebase).
Any suggestions are appreciated. I'm using pycharm and TortoiseGit.
What did I do wrong?
You made your PR directly from the master branch (which is supposed to reflect the upstream/master
branch, and not include other changes)
and how can I fix it
Make sure you have a remote named upstream
referencing the original repo (the one you have forked)
git remote -v
# if needed
git remote add upstream /url/original/repo
Then create a branch from upstream/master
git fetch upstream
git checkout -b myPR upstream/master
Finally, cherry-pick the commits representing your changes
git cherry-pick myFirstCommit..myCurrentCommit
And create a PR from that branch (that you can later on update as you did, but with a rebase on top of upstream/master
)
After discussion, the missing step was git fetch upstream
: the OP was working only with master
or origin/master
but those don't matter here: when doing a PR, only upstream/master
(the main branch of the original repo) is important, and your PR must be rebased on top of it.