質問

My project on GitHub has received a pull request. The pull request only partly fixes the issue that it's addressing. I've pulled in the changes to a local branch and added some commits of my own.

I'd now like to push those commits back to my remote repo and have them show up on the pull request, but without merging them into the target branch. I'd like to keep the pull request open for further review and discussion, and potentially further commits.

Is there a way I can add commits to the pull request without merging them into the target branch and therefore closing the pull request?

役に立ちましたか?

解決

As long as the original author has clicked the checkbox in the bottom right:

Allow Maintainers

If that box is checked, then you can push back to the original branch without needing to add a remote by using:

git push git@github.com:user/repo local_branch_name:remote_branch_name

This is particularly useful if you're using a tool like hub where you can check out a pull request without needing to add a remote.

Edit: You also need to have write access to the repository where the PR has been opened.

Further Edit: The new command line tool from GitHub does a good job of checking out PRs so that you can just use git push as is to push updates to remotes (assuming you have permission).

他のヒント

It is possible to do this now (link)

Suppose you have received a pull request in yourrepo from otheruser.

Add the other user as a remote

git remote add otheruser https://github.com/otheruser/yourrepo.git

Fetch

git fetch otheruser

Create a branch from their repo

git checkout -b otheruser-master otheruser/master 

Now make some changes and commit. Push to their repo

git push otheruser HEAD:master

Not unless barryceelen gives you push access to his fork. You'll have to close his pull request and open a new one from your branch that includes his commits.

Not being able to do what you want to do is annoying. To make better use of GitHub flow, I'd suggest asking forkers to open issues separately from their pull requests that solve them, meaning you can keep the initial conversation flow and have it closed by whatever pull request you decide as the best.

I use the new gh cli tool.

gh pr checkout PR_NUMBER

Then make your changes and as long as you have access to push to their fork (which from my experience is usually the case if you own the primary repo). With using the gh tool, it will basically copy their branch's name so you can do.

git push git@github.com:other_user/repo branch:branch
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top