How to modify Github pull request?

…衆ロ難τιáo~ 提交于 2019-12-28 07:54:21

问题


I've opened a pull request to a project. The maintainer has decided to accept it, but told me to modify some contents.

How can I do it? Whether I should keep the commit hash unchanged, how can I do it?


回答1:


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



回答2:


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.




回答3:


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.



回答4:


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


来源:https://stackoverflow.com/questions/16748115/how-to-modify-github-pull-request

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!