如何在拉取请求 (Pull Request) 中进行沟通?

社区文章 发布于2024年8月22日

image/png

大家好!我是 Aritra,老实说,直到2018年之前,我对开源贡献或 GitHub 一无所知。我向一个大型仓库提交的第一个 PR (Pull Request) 只是 TensorFlow 文档中的一个简单错别字修复(你可以在这里查看,尽管它从未被合并)。

几年后,我有幸为一些出色的库做出了贡献,例如 pefttransformers 等。但是,关于我个人的经历就到此为止吧,让我们来谈谈在开源贡献中非常重要的一点:如何在拉取请求 (PR) 中进行沟通。

  1. 首先查找或创建 Issue

在深入编写代码之前,您应该做的第一件事是搜索一个**现有**的您想要修复的 issue。如果不存在,则自己创建一个。这是您与维护人员互动的第一个步骤,他们很可能会加入并与您一起集思广益。

相信我,这个过程非常有益。您将有机会与可能比您聪明得多的人互动(我总是这样想,这有助于我保持谦逊,不感到不知所措)。您肯定会学到很多关于仓库和其工作方式的知识。

举个例子,这里是我了解到一种令人惊叹的新 LoRA 技术的地方。

  1. 撰写你的 PR

一旦你确定了问题并准备好创建 PR,请花点时间写好描述。这不仅仅是形式,而是你清楚地说明你的 PR 内容的机会。**标题**和**描述**应该精确且切中要点。

我从未能完美掌握这项技能,但我一直在努力。我为这个 PR 的描述和标题感到非常自豪。

这种清晰性对于维护人员和社区中的其他人理解你的意图并参与讨论至关重要。谁知道呢?你的 PR 可能会被你欣赏的人审查,那会让你开心一整天!

Benjamin 说:“我的方法是撰写一条写得很好的提交信息,然后将其(可能稍作修改)作为 PR 描述。这样,写好描述的努力就可以获得双倍回报,一次在 GitHub 上,一次在 Git 历史中。”

  1. 过度沟通(以一种好的方式)

正如我的朋友/导师 Sayak Paul 常说的那样:“过度沟通从无害处;沟通不足则总是有害。” 在您的 PR 讨论中,尽可能详细。我在这里有些偏颇,但如果您的 PR 与深度学习或 Python 相关,请考虑包含审阅者可以轻松运行的 Colab 笔记本,或指向工作模型的 Gradio 链接。这些小步骤可以极大地影响您的贡献被看待的方式。

  1. 尊重他人的时间

请始终记住,维护者和审阅者都很忙。避免提出开放式问题让他们猜测。相反,首先尝试自己解决问题。如果您遇到困难,请列出您已经尝试过的方法以及遇到的问题。隔离问题并在您的 PR 中包含相关代码片段。这表明您尊重他们的时间和努力。

  1. 保持谦逊和尊重

最后,请保持友善和耐心,特别是当有人在你的 PR 上提出一个“不那么成熟”的问题时。这可能他们是第一次为大型项目做出贡献,就像你曾经一样。一点点同理心大有帮助——伸出援手而不是说刻薄的话。毕竟,我们都在这里一起学习和成长。

希望您喜欢它,并在自己的开源事业中遵循这些建议。我会让我的开源巫师们审查它。我确信会有很多修改,所以一周后回来看看,获取更好的提示和技巧!

社区

注册登录 发表评论