如何修改Github pull请求?

fly*_*ast 152 git github pull-request

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

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

Dai*_*jan 168

只需将更多提交推送到请求所针对的分支.然后拉取请求会选择它

例:

如果你想让b合并为master

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

  • 除了这个拉取请求的作者之外,是否可以由其他人向此拉取请求添加提交? (5认同)
  • 推动特定分支的所有人 (4认同)
  • @skywinder也许你可以检查这个问题:[是否可以在拉取请求(Github)中更改其他人的代码?](/sf/ask/2734283401/ -pull-requests-github 中的人民代码) (3认同)
  • @Daij-Djan 通常,如果有人提出 Pull 请求,他会推送到他自己的存储库分支。没有提交访问权限的人是否可以向这样的 PR 添加提交? (2认同)

Mal*_*ous 32

我只是在一个pull请求中有一个提交,我曾经git commit --amend更新它.然后我做了一个强制推动,git push -f所以我的修改后的提交取代了原来的提交.pull请求自动获取新提交.(它实际上显示了两个提交,但是当我重新加载页面时,旧提交已经消失了.)

因此,虽然通常不建议强制推送,但它对拉取请求很有用.不建议这样做,因为如果有人根据你的提交做出承诺,那么他们必须在你做出改变之后再做一次改变.但是,由于没有人应该将他们的工作建立在审查不足的拉动请求上,因此在这种情况下它应该是非常安全的.


use*_*_19 7

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

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

  1. 通过执行以下操作,从您要发送拉取请求的存储库(上游)和分支(开发)创建新分支(修复):

    git branch修复了上游/开发

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

    git commit -m"你的消息"

  3. 将此分支推送到您自己的分叉远程(可以命名为origin).

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