在查看我不是贡献者的GitHub存储库的README文件时,我注意到了一些小错误,并想知道我是否应该提交拉动请求来更正它们,或者检查请求是否会使维护者花费过多时间以致于不值得它。我考虑了三个操作步骤:

更正错别字并在摘要字段中提出每个更正的位置的拉取请求。
向维护者发送一封电子邮件,其中包含建议的更正。
什么都不做。

这些(或任何其他)选项中哪个最合适?我注意到的错别字不会使README产生误导或歧义。我已经将GitHub用于小型个人项目已有一段时间了,但是对请求请求以及它们需要花费多少时间和精力进行审查(因此引起了我的问题)的经验很少。

评论

无论做什么,都不要说T恤

公关很棒。我会确保只在一个P中提交明确无疑的错误更正吗?如果您还想优化措辞或修正格式,请单独运行。这可以确保至少可以快速接受错字更改。首先请检查贡献准则,某些项目甚至可能需要一些类似于CLA的程序,即使是较小的修复程序(恕我直言,这简直太糟糕了)。如果维护者喜欢自行构建提交,则可以从PR开始,因此只要项目实际上与GitHub工具一起使用,这就是一个很好的工作流程。
@FlorentMichel不,通过电子邮件发送的补丁文件也不适合对Github上维护的项目做出贡献。它不像发送描述列表那样糟糕,因为它使用git版本控制,并且意味着维护者无需自己进行任何文件编辑,但是仍然不使用Github作为协作平台,因为拉动请求非常多。易于应用。

@Basilevs为什么OP会提到T恤?

@gerrit引用了2020年Hacktoberfest崩溃:infoq.com/news/2020/hacked-off-hacktoberfest

#1 楼

只需修复您注意到的所有错别字,并按照“修复错别字”的行创建带有注释的拉取请求。然后,只需单击一个按钮,即可选择具有正确访问权限的人。
您无需解释每一个错别字;差异本身将很明显。
从电子邮件中获取有关错别字的信息将更难以向开发人员申请(甚至对您而言可能更难)。

评论


是的,只需更正并提交PR。这就是分布式开发的重点。他们可以选择是否批准和合并。作为批准了与此类似的PR的人,我感谢有人花时间进行这些更正,因为我没有时间去做,也没有足够的时间来回顾自述文件。

– Greg Burghardt
20-11-16在14:30

对于不是您的人来说,他们越容易,他们就越快乐。

–索比昂·拉文·安德森(ThorbjørnRavn Andersen)
20 Nov 16 '15:06

“这是一个单击按钮”:这正是我不确定的重点。谢谢您的澄清!

–佛罗伦萨·米歇尔
20 Nov 16 '20:27

只需确保您确实在“修正拼写错误”,并且不要执行“将英式英语拼写转换为美式英语”(反之亦然!)之类的操作,可能会不被赞赏!

–alephzero
20 Nov 16 '21:02

在一种情况下,我会(并且已经)选择打开一个描述必要更改的问题而不是发出拉动请求的选项:当存在复杂的参与者准则(包括设置复杂的环境)时。对于自述文件来说,这不是什么大问题,但仍然可以使我做到这一点。

–碧玉
20-11-16在23:32

#2 楼


一家名为DigitalOcean的云托管提供商每年都会举办一次名为Hacktoberfest的活动,以鼓励人们为开源项目做出贡献,以换取一件T恤。这样做很有趣,因为它可以鼓励更多的人使用开源软件,提供奖励以换取可玩游戏的指标并将其打包到一个月内,从而导致许多项目收到大量低质量的请求,这些请求被一些维护者视为垃圾邮件。其中许多涉及对README文件的琐碎改动或破坏,其中一些灵感来自YouTube频道上的演示。注释或此注释,它向README添加了一个奇怪且不必要的标头。今年特别值得注意,有些活动在活动的第一天就收到了十几个,这引起了项目维护者和DigitalOcean的Hacktoberfest的博客帖子Hurting Open Source的震惊。
Hacktoberfest结束了,至少到明年,这种特定的问题已经减弱(垃圾邮件的数量使他们在几天后改变了该程序的工作方式,使其选择加入项目维护人员),但是该事件提供了一些背景信息多少维护者考虑拉动请求:存在PR以改进软件,而存在PR似乎只是为了改变目的而没有明确的目的或好处,尤其是在批量生产中,PR可能会被反对。如果您只是修正注释中的拼写错误,似乎无缘无故地在更改文档,或者在没有进行任何特殊改进的情况下随意重写一些代码,那可能会引起您的注意。
但就您而言,您的PR似乎可以真正改善软件。在自述文件中有多种错别字,假设它们是真实的错字而不是区域拼写差异,则不理想,并且您通过修复它们来提供实质性的改进。
您问这个问题并且关心维护者的时间清楚表明您的意图是崇高的。最终,为了缓解您的顾虑,对于维护人员而言,复查和合并简单的请求请求是一项非常快捷且轻松的操作-查看diff并单击一个按钮。写下“这是我的第一个拉取请求。我希望这是有用的,但如果不是这样,不用担心”之类的东西,或者不确定的话,完全可以。

评论


您提供的上下文似乎很随意!尽管此事件目前尚未发生,但我想它可能有助于社区,尤其是受欢迎的存储库的维护者,看到微不足道的PR。对于在类似事件中可能会阅读此答案的读者来说,这肯定是有用的。

–佛罗伦萨·米歇尔
20/11/17在8:23

“某些维护者认为是垃圾邮件”有点大方:youtube.com/watch?v=MfvFRAJS9nw

– GammaGames
20 Nov 17 '20:59

起初,我没有在问题下方得到“ T恤评论”。您的回答有所帮助,谢谢!

–亨氏
20 Nov 18'在8:09

#3 楼



更正键入错误,并在摘要字段中提出每次更正的位置的拉取请求。 ,并且任何拉取请求审阅者显然都将查看所做的更改。
应保留摘要字段,以使人类容易理解该PR所包含内容的简短总和。在您的特定情况下,“修正了一些拼写错误”可以准确地总结出来。


向维护者发送一封电子邮件,其中包含建议的更正。


GitHub的全部目的是您可以协作地协调对源代码的更改。如果要通过电子邮件发送邮件并让他们进行更改是必经之路,那么GitHub(以及一般的版本控制系统)将失去其主要目的。其成员如何协调他们所做的更改。
我考虑向维护者发送电子邮件的唯一原因是澄清一些东西,例如如果您不确定某件事是否是意外行为。
在这种情况下,真的不需要弄清楚错别字修复的简单PR,维护人员可以查看PR本身并决定是否需要它们。 。与打开PR本身相比,您将花费更多的时间来尝试让他们查看所有内容并询问您的更正是否正确。 br />

什么也不做。


我的意思是,从技术上讲,这是一种选择,但它并没有完全解决您应该如何解决这一问题。这样一个问题的内在含义是,您正在尝试做自己想做的事情。无所事事无所事事。

评论


包括“什么都不做”会提出一个隐含的问题:“这个问题实际上是否足够重要,无所作为?”假设您在一个公园里注意到操场上有一些沙子落在草地上。这是不可取的:您是否应该写信给市议会建议他们解决问题,还是问题太小而不值得您和他们的时间?当然,在这种情况下不值得。在自述文件中修复拼写错误是很简单的,但是接受PR的成本也很小,因此可以这样做。但是,如果您还不知道这一点,那就没问题了。

–合金
20 Nov 16 '19:52



向维护者发送电子邮件的另一个原因是,如果您报告的是严重的安全问题,请在修复后再公开披露。

– jwodder
20 Nov 16 '20:28

#4 楼

因为已经有了答案,但这并不是专门解决问题的方法,而是我向人们提供有关提交和消息的一般建议。我使用的示例是,如果您需要编辑的文件存在很多格式问题。您应该进行一次提交以更正格式,然后进行第二次提交以修复最初用于文件的逻辑。这样,如果出于某种原因需要还原逻辑,则空白空间可以留给下一个需要进入的人。理想情况下,您确定的格式符合本地编码标准。
对于个人提交的内容,请回答编写小学论文时所教的问题。什么?什么时候?哪里?为什么?
提交人通常会回答谁。
提交的时间戳记是什么时候
提交的差异通常在什么地方和哪里?
为什么以及如何确实需要在提交消息中。对我来说,这是许多软件工程师正确和辛苦地完成工作的最重要部分。
在这种情况下,由于更改很小,因此无关紧要,为什么您要修正错别字。
TLDR;不必担心会修正拼写错误或格式错误。提交并提交审核。

评论


代码中也应清楚显示“为什么”。如果从实际说明中不清楚,则需要进行注释。如果更改的原因仅在提交消息中显而易见,那就不好了。提交消息非常适合查找先前的更改。

–带翅膀的小行星
20/11/17在16:39

从代码中可以明显看出您所做的事情,但是为什么却没有。您为什么认为必须进行更改。我花了很多时间查看旧代码,试图弄清楚他们在想什么。如果仅他们还在周围解释为什么这样做了,那么也许是有道理的。

–本
20 Nov 17 '17:06

或者,就像我建议的那样,如果他们用一些简单的代码注释来解释它。

–带翅膀的小行星
20 Nov 17 '17:36

softwareengineering.stackexchange.com/questions/411585/…

–带翅膀的小行星
20 Nov 17 '17:37

我同意代码中的良好注释会有所帮助,甚至可以解释为什么对分组的代码进行少量更改会导致某些问题。但是,当代码更改分散到多个文件中时,开发人员不会评论每个更改。代码中的注释太多与没有注释一样糟糕。

–本
20 Nov 17 '21:44

#5 楼

其他答案也不错,但是首先请检查是否有任何贡献说明,尤其是有关签署CLA的说明。
(我看到@eckes还将其作为对原始问题的评论。)如果CLA流程似乎过于复杂,那么最好只开一个拼写错误的问题(或发送电子邮件),而不是构建PR。

评论


如果项目使用GitHub Issues,并且您不想/不能签署CLA提交PR,则提交问题而不是发送电子邮件可能更有意义,因此可以与其他所有问题一起跟踪。

–扎克·利普顿(Zach Lipton)
20 Nov 17 '18:56

@ZachLipton-是的-我相应地更新了答案。

–汉斯·奥尔森(Hans Olsson)
20-11-18在7:55