Adding to someone else’s pull request on a GitHub project that I do not own

Is it possible for me to add commits to someone else’s pull request on a repository where I am not the owner?

e.g.

User A owns Project X.

User B forks Project X, creates a feature branch, makes some changes, and submits a pull request.

User C likes the pull request, but would like to make some modifications to it. (FWIW User C already has a fork of Project X, so is unable to easily fork User B’s fork).

Can User C add commits to User B’s PR?


Solution 1:

You can check out the branch and re-submit a modified PR (giving credit to the original, preferably).

You can also issue a PR to the PR author:

git remote add userb https://github.com/userb/name.git
git fetch userb
git checkout featurebranch
[change and commit]
git push userc featurebranch

When you create a PR, GitHub lets you choose the base branch - so you can choose the fork and - if you want to - request changes to the PR.

Solution 2:

You cannot add commits directly to User B's pull-request unless you have write access to User B's fork. You can, however, make local additions to the pull-request, by just fetching the pull-request branch into your own local repo (assuming the url for B's fork is public).

I'm not sure if it's possible to do a pull-request into B's fork since your own fork is from A and not B, though.

Solution 3:

User C can add directly to User B's pull request if User B has given permission, or possibly if user C is a committer on User A's repo.

https://help.github.com/en/articles/committing-changes-to-a-pull-request-branch-created-from-a-fork

The github default permissions for users on a fork are copied from the original.

If you do have permissions your command line to add would look like this:

git push https://github.com/[userb]/[projectx].git [userc_localbranch]