如何修改Github拉取请求?


Answers:


177

只需将更多提交提交到请求所在的分支即可。拉取请求将接起

例:

如果您想将b合并为master

  1. 您将c1,c2,c3推到b
  2. 然后您重新请求b
  3. 它得到审查,您需要更多的提交
  4. 您将c11,c21,c31推到b
  5. 现在,pull请求显示所有6个六次提交

6
是否可以添加其他人对此提交请求的提交,但此请求的作者除外?
skywinder 2014年

4
每个推送到特定分支机构的人
Daij-Djan

@ Daij-Djan通常会在有人提出“拉取请求”时将其推入自己的存储库分支。没有权限访问他的fork的人是否可以向此类PR添加提交?
MaciekŁoziński19年


@MaciekŁoziński答案也只有在“您[可以]推送到特定分支机构”的情况下:)
Daij-Djan

34

我在一次拉取请求中只提交了一个提交,而我过去常常对其git commit --amend进行更新。然后我用力推动,git push -f因此我的修订提交取代了原来的提交。拉取请求会自动选择新提交。(它实际上显示了两个提交,但是当我重新加载页面时,旧的提交已经消失了。)

因此,虽然通常不建议使用强制推送,但对于请求请求很有用。不建议这样做,因为如果有人在您的基础上进行提交,那么他们将在更改后必须进行重新设置。但是由于没有人应该将他们的工作基于未接受审核的请求,因此在这种情况下应该是非常安全的。


7

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

我使用的替代解决方案和技术如下:

  1. 通过执行以下操作,从打算向其中发送拉取请求的存储库(上游)和分支(开发)创建一个新的分支(修订):

    git branch修复上游/开发

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

    git commit -m“您的消息”

  3. 将此分支推送到您自己的分叉式遥控器(可以命名为origin)。

  4. 比较并发送带有干净提交历史记录的新请求请求。
  5. 同样,在合并拉取请求后删除分支也是个好主意。
  6. 您可以评论并关闭先前的拉取请求。

1

您还可以使用github api

卷曲的例子

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

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

示例:更改我的请求请求的名称

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

我试图更改分支,但我认为head/label并且head/ref不可编辑。
hexaJer 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.