场景
如果User X
维护一个存储库,并且User A
提交一个拉取请求,我希望User B
建议在该拉取请求之上进行清理或其他功能。
我在做什么
我这样做的方式是获取User A
的存储库和功能分支,更新代码并向User X
提交独立的拉取请求。
问题
但以上感觉有点潇洒和错误。有没有更好的方法?
您可以对 UserA 的功能分支发出单独的拉取请求。如果他接受,你的提交将被添加到原始拉取请求中。
您还可以在新请求中引用原始拉取请求,使其显示在 Github 上的注释中。
如果他不接受拉取请求,那就走笨蛋的方式。他的提交仍将显示为他自己的提交,因此这并不重要。
最好的方法是根本不使用拉取请求。这就是为什么 Git 项目不使用拉取请求进行开发,而是将每个补丁系列发送到邮件列表,在那里可以轻松查看每个补丁,然后原作者修复问题并发送该系列的重卷,这会收到更多的评论等等。每个补丁系列多次重新滚动并不罕见。
这就是Linus Torvalds不喜欢整个GitHub方法的主要原因。
话虽如此,您可以在 Github 中查看补丁,并请求原作者发送另一个拉取请求。
作为最后的手段,我所做的是手动将远程User A
添加到我的本地存储库中,自己获取并修复提交,添加适当的注释或添加新的单独提交,然后合并我的本地分支,而不是远程分支。
> 2017 年更新:
Github 现在允许将更改推送到发出拉取请求的分支(如果提交者允许的话)。
创建拉取请求时,现在有一个选项:"允许维护者的编辑"。默认情况下处于选中状态。