如何直接编辑他人的 PR¶
有时,我们需要对别人提交的 PR 做一些小改动,以方便合并。这里介绍的是一种方法。
假设¶
假定您以前在 ArduPilot 的 GitHub 代码库中工作过,并在本地克隆了该代码库的 fork。
程序¶
首先,确定您是否已获得修改 PR 的权限。如果是,那么在 GitHub.com 上 PR 的底部,你会看到 :
"推送到 xyz
分支 用户名/ardupilot
"
首先为用户名的版本库设置一个远程,在本例中我们将其称为 tempremote
:
git 远程 增加 tempremote https://github.网/用户名/ardupilot.git
这就注定了 tempremote
指向 GitHub 上的源代码库。
提取 PR 分支 xyz
到本地计算机的存储库,以便对其进行修改:
git 取得 tempremote xyz
会将 PR 分支复制到本地缓冲区。
然后创建本地分支 username-xyz
的副本
git 销售点 -b 用户名-xyz tempremote/xyz
然后制作修改器并提交,并在提交信息中说明修改内容。这条信息实际上会在下一步中删除,但如果将来需要重置或还原,最好还是写上一些有意义的信息。
您还应该 "压扁"(见 交互式重置:清理提交 )的提交信息,然后再推送到发起者的版本库。此时,您可以使用发起者的提交信息,也可以根据需要进行修改。此外,您还应确保整个提交符合 ArduPilot 风格指南(参见 ArduPilot 样式指南 ).
最后,您可以强制推翻原作者的 PR,使其包含您的修改:
git 推动 -f tempremote 总负责人:xyz
这些更改将反映在 GitHub 上的 PR 中。您现在可以删除您的 username-xyz
本地分支。