如何在合并之前从第三方 fork 编辑 PR(而不是相信他们的代码)?
How to edit a PR from third party fork before merging (and not take credit for their code)?
- 我是 GitHub 存储库的协作者。
- 有人分叉它,添加一个功能,然后创建一个 PR。
- 我要求他们添加文档和示例,但他们没有时间。
- 他们让我做,然后合并PR。
我可以只复制代码并使用添加的文档等创建一个新的 PR。但是我会得到代码的所有功劳。
如何正确操作?
如果您是 GitHub 项目的合作者,默认情况下,您有权将提交直接推送到用于执行拉取请求的分支。
这是您进行 PR 时默认启用的设置:
因此,您只需添加一个遥控器并向其推送即可。即使最好就此进行交流(我很少这样做,并且完全放松了一些 git 有困难的初学者)
或者您可以合并它并在之后进行修复。
我之前在类似情况下使用的另一个选项是编辑 PR 并将基础从 master
更改为临时分支。然后将 PR 合并到临时分支,进行任何需要的更改并提出新的 PR 以合并到 master
。这将保留贡献者的原始提交。
另一种模式是合并到临时分支,然后由贡献者挑选提交到新分支或直接提交到 master。 Cherry picking 还保留提交的贡献者作为作者。您(合作者)将显示为提交者。下面的 link 是一个示例提交,展示了它的样子。
https://github.com/peter-evans/create-pull-request/commit/062968931cd601fdcb4b8b0a2e21b69e0ef43812
- 我是 GitHub 存储库的协作者。
- 有人分叉它,添加一个功能,然后创建一个 PR。
- 我要求他们添加文档和示例,但他们没有时间。
- 他们让我做,然后合并PR。
我可以只复制代码并使用添加的文档等创建一个新的 PR。但是我会得到代码的所有功劳。
如何正确操作?
如果您是 GitHub 项目的合作者,默认情况下,您有权将提交直接推送到用于执行拉取请求的分支。
这是您进行 PR 时默认启用的设置:
因此,您只需添加一个遥控器并向其推送即可。即使最好就此进行交流(我很少这样做,并且完全放松了一些 git 有困难的初学者)
或者您可以合并它并在之后进行修复。
我之前在类似情况下使用的另一个选项是编辑 PR 并将基础从 master
更改为临时分支。然后将 PR 合并到临时分支,进行任何需要的更改并提出新的 PR 以合并到 master
。这将保留贡献者的原始提交。
另一种模式是合并到临时分支,然后由贡献者挑选提交到新分支或直接提交到 master。 Cherry picking 还保留提交的贡献者作为作者。您(合作者)将显示为提交者。下面的 link 是一个示例提交,展示了它的样子。
https://github.com/peter-evans/create-pull-request/commit/062968931cd601fdcb4b8b0a2e21b69e0ef43812