How to Edit Someone Else’s PR Directly¶
Occasionally, it is desirable to make some small changes to someone else’s submitted PR in order to facilitate its readiness for merging. This describes one procedure for doing this.
It is assumed that you have worked on the GitHub repository for ArduPilot before and have cloned a fork of the repository locally.
First, determine if you have been given permission to modify the PR. If so, then at the bottom of the PR on GitHub.com you will see :
“Add more commits by pushing to the
xyz branch on
First set up a remote to username’s repository, in this case we will call it
git remote add tempremote https://github.com/username/ardupilot.git
this sets up
tempremote to point to the originators repository on GitHub.
To pull the PR branch
xyz down to your local computer’s repository in order to modify it:
git fetch tempremote xyz
which will copy the PR’s branch into a local buffer.
Then create a local branch
username-xyz and which is a copy of the PR
git checkout -b username-xyz tempremote/xyz
Next make your mods and commit them with a commit message explaining your changes. This message will actually be removed in the next step, but it’s good to make it something meaningful if you need to reset or revert in the future.
You should also “squash” (see Interactive Rebase: cleaning up commits ) your commit into the originator’s before pushing to his repository yourself. At this point you can use the originator’s commit message or change it if it needs. Also, you should be sure that the entire commit conforms to the ArduPilot style guidelines (see ArduPilot Style Guide ).
Finally, you can force push over the originators PR to include your modifications:
git push -f tempremote HEAD:xyz
The changes will be reflected in the PR on GitHub. You may now delete your
username-xyz branch locally.