如何修改Github的pull请求?

我已经打开了一个项目拉请求。 维护者已经决定接受它,但是告诉我要修改一些内容。

我该怎么做? 我是否应该保持提交哈希不变,我该怎么做?

只是推送更多的提交到分支的请求。 拉请求将会select这个

例:

如果你想把b合并成主

  1. 你把c1,c2,c3推到b
  2. 那么你提出了一个新的要求b
  3. 它会得到审查,你需要更多的提交
  4. 你把c11,c21,c31推到b
  5. 拉请求现在显示所有6个提交

我只有一个提交请求,我用git commit --amend来更新它。 然后我用git push -f做了一次强制推送,所以我的修改后的提交replace了原来的提交。 拉取请求自动提取新的提交。 (它实际上显示了两个提交,但是当我重新加载页面旧的提交已经结束。)

所以通常不推荐强制推送,这对拉取请求是有用的。 这是不推荐的,因为如果有人在你的基础上承诺,那么他们将不得不在你的变化之后做一个rebase。 但是,由于没有人应该把他们的工作放在一个低估的拉动要求上,在这种情况下应该是相当安全的。

如果您继续进行更改并继续推送到同一个分支,则精炼的提交将被添加到相同的拉取请求(除非您的拉取请求已合并)。 这可能会使历史非常混乱。

我使用的另一种解决scheme和技术如下:

  1. 从存储库(上游)和分支(开发)中创build一个新的分支(修复),通过执​​行:

    git分支修复上游/开发

  2. 直接将您的提交的提交添加到这个新创build的分支。

    git commit -m“你的信息”

  3. 推这个分支到你自己分叉的远程(可以被命名的起源)。

  4. 比较并发送带有清理提交历史logging的新请求。
  5. 另外,在拉取请求合并之后删除分支是个好主意。
  6. 您可以评论并closures您之前的请求。

你也可以使用github API 。

curl的例子

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

您可以在github开发人员文档中find详细的数据列表

例如:更改我的拉取请求的名称

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