Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to modify GitHub pull request?

People also ask

How do I make changes to an existing pull request?

The current way to update a pull request is to click on the “Edit” button along the other pull request action buttons. This will bring you to the update pull request page where you can make changes to the title, description, reviewers and specify whether to close the branch after the pull request has been merged.

Can we edit the pull request?

To edit a pull request, select the pull request on the Pull requests page, go to its detail page and click "Edit". The target branch (the base branch) and the pull request branch (the branch that will be merged) cannot be changed.

How do I edit a pull request message?

The pull request will be updated with the new commit contents. You can do that either by specifying the -f option when you run git push or putting a plus sign ( + ) in front of the branch name when pushing. Usually your CI system will realize that your commits have changed and run again on the new commits.


Just push more commits on to the branch the request is for. The pull request will pick this up then.

Example:

If you want to have b merged into master

  1. You push c1,c2,c3 to b
  2. then you make a new request for b
  3. it gets reviewed and you need more commits
  4. You push c11,c21,c31 to b
  5. The pull request now shows all 6 six commits

I just had one commit in a pull request, and I used git commit --amend to update it. I then did a force push with git push -f so my amended commit replaced the original one. The pull request automatically picked up the new commit. (It actually showed both commits, but when I reloaded the page the old commit had gone.)

So while a forced push is generally not recommended, it can be useful for pull requests. It's not recommended because if someone bases a commit on top of yours then they will have to do a rebase after your change. But since nobody should be basing their work on an under-review pull request, it should be pretty safe in this situation.


If you continue to make changes and keep pushing to the same branch, the refined commits will be added to the same pull request (unless your pull request has been merged). This could make the history very cluttered.

An alternate solution and a technique that I use is as follows:

  1. Create a new branch (fixes) from the repository(upstream) and branch (develop) to which you intend to send the pull request by doing:

    git branch fixes upstream/develop

  2. Add your refined commits directly to this newly created branch.

    git commit -m "your message"

  3. Push this branch to your own forked remote (could be named origin).

  4. Compare and send in a new pull request with clean commit history.
  5. Also, it is a good idea to delete your branch after the pull request has been merged.
  6. And you can comment and close your earlier pull requests.

You also can use github api.

example with curl

curl --user "your_github_username" \
     --request PATCH \
     --data '{"title":"newtitle","body":"newbody",...}' \
     https://api.github.com/repos/:owner/:repo/pulls/:number

you can find the detailled list of data in github developer doc

example : change name of my pull request

curl --user "jeremyclement" \
     --request PATCH \
     --data '{"title":"allows the control of files and folders permissions."}' \
     https://api.github.com/repos/Gregwar/Cache/pulls/9