欢迎来到新人指南!¶
重定向自 |
不要在没有作业的情况下处理任何问题! 如果您这样做了,其他人可能也会处理它,我们可能别无选择,只能拒绝您的某个拉取请求。我们讨厌浪费某人的时间。为了您自己的利益,请遵循本指南。我们为你做了很多工作!
科拉社区的每个人都应该遵循我们的 Code of Conduct .
要成为Coala开发团队的一员,您需要完成几个步骤。新来者流程如下:
你将作为一名新人开始,这是一种考验。如果您完成以下任务,您将成为Coala的开发人员:
在你的一个项目上运行Coala
合并为
difficulty/newcomer
拉取请求至少审查一个
difficulty/newcomer
拉取请求合并为
difficulty/low
拉取请求至少审查一个
difficulty/low
或更高的拉取请求至少做一次 meta-review 或收到元评论
备注
在您解决了一个 difficulty/newcomer
问题,请不要再提了。取而代之的是,转移到更困难的问题上。
一旦您在项目中运行了Coala,请填写我们的 usability survey 。一旦您成功合并了您的第一个拉取请求,请填写我们的 survey form 。通过这样做,您可以帮助我们改善您的体验!
一旦您完成了全部五项任务,请填写我们的 promotion request form 升职为开发人员。GitLab的贡献对于将新人提升到开发人员也很重要。为了解决GitLab问题,您应该是GitLab新人小组的成员。您可以在以下位置申请访问权限 GitLab newcomers group .
备注
不要只是解决一个新来的问题! 监督新来的人真的是一项很大的工作。我们都是志愿者,如果你不在其他方面也帮助我们,我们就不能继续这样做!
当然,以上步骤的顺序并不重要,尽管我们建议您从 newcomer
问题,以一个 low
发布,并在此期间审查其他PR!
这是一个基于步骤的指南,将帮助您对Coala做出第一次贡献,同时让您熟悉工作流程!
有关拉取请求的更多信息,请继续阅读!
小技巧
您无需阅读Coala代码库即可开始使用 -本指南旨在帮助您在不阅读大量无意义代码的情况下做到这一点。没有人擅长这一点。
最重要的是,本指南的目的不是“检查您是否适合”做出贡献,而是一个速成课程,用于 让你变得健康 做出贡献。当涉及到代码质量时,我们有点挑剔,但如果您耐心阅读本指南,实际上要达到这个级别并不难。
第0步。运行Coala¶
当您准备加入我们的社区时,您应该弄清楚这个项目是关于什么的-如果您还没有这样做的话。我们强烈推荐您 install coala 并且至少在你的一个项目中使用它。另外,我们建议您阅读我们的 development setup notes 学习如何建立一个在Coala上工作的环境。
最重要的是,记下哪些可以更改以使Coala使用更容易!丢失了哪些文档?什么很难理解?
参见
在这件事上苦苦挣扎吗? 关于这个主题,我们有一个非常详细的指南,请参见 our Google Code In resources 它可以帮助您找到合适的存储库,并在更大的项目上运行Coala。
完成此操作后,请花时间 fill out this form 这样我们才能变得更好!
步骤1.与社区会面并获得加入组织的邀请¶
要开始,第一步是与社区见面。我们使用GITER进行交流,在那里,乐于助人的社区将为您提供指导。Gitter是GitHub开发者和用户使用的即时通讯服务。Gitter使用聊天室,开发者可以加入聊天室,谈论特定的主题。Coala有两种类型的聊天室-存储库聊天室和讨论主题聊天室。存储库聊天室与特定存储库相关,讨论聊天室与会议、研讨会等一般讨论主题相关。
coala 这是Coala/Coala的主聊天室和存储库聊天室。
gsoc 这是您讨论Google Summer of Code的地方。
coala-bears Coala/Coala熊的回购聊天室。
workshop 有关研讨会的讨论请转到此处。
conferences 一切都与会议有关。
offtopic 任何好玩的事!我们的游戏环节从这里开始。
此处提供所有可用聊天室的列表- channel list
但在加入社区之前,有几件事你应该牢记在心。
只能使用您的GitHub帐户而不是Twitter帐户登录Gitter,因为Gitter机器人 corobo 根据每个用户的GitHub用户名识别每个用户,这使得自动执行某些任务成为可能,例如要求机器人将问题分配给您的个人资料。
不要@提及或私信别人,除非这是非常重要的事情。@提及会在用户可能登录的各种GITER客户端上生成通知,您甚至可能会将世界另一端的人唤醒。另外,这也会阻碍其他人回答问题,所以你可能会等待更长时间才能得到答案。
请勿提及与特定问题无关的用户。这也意味着你不应该提及上一次上网的人。例如,在Github问题上提到某人就会让他们订阅该问题,即使他们不想成为讨论的一部分。但是,如果他们真的需要查看您的消息,提及某人是可以的。
如果您是新人或没有重要原因,请不要使用/ALL。
不要在正在进行的谈话中反复“提到人”。
在提到别人之前,你应该先问问他们。
现在您已准备好加入Coala社区,地址为 coala gitter 。新来者应该ping我们“Hello World”,让我们知道他们在这里,因为我们在乎!
当你在聊天中说“你好世界”的时候, corobo
(our gitter bot) will invite you to be part of the Newcomer team. The invitation will be sent by mail and you will have to accept it to join. If you don't find the invitation, accept it here .
祝贺你! 既然您是我们组织的一员,您就可以开始处理问题了。如果您熟悉git,可以跳过下一节,选择一个问题。
备注
如果你有任何问题,用一种精确和尊重的方式问他们,这样可以最大限度地增加你得到你想要的答案的机会。如果您不确定如何做到这一点,请阅读: How To Ask Questions The Smart Way .
可选。获取有关Git的帮助¶
我们使用GitHub来管理我们的存储库。如果您不熟悉Git/GitHub,我们强烈建议您遵循以下教程,例如 this one .
我们还有一个 page dedicated to git commands 这将帮助你学习基础知识。
如果有任何不清楚之处,或者您遇到问题,请随时与我们联系 gitter ,我们会帮助你的!
步骤2.选择问题¶
现在是选择一个问题的时候了。这是熟悉代码库和Coala贡献指南的最佳方式。
您可以查看 all Newcomer issues on GitHub .
重要
您需要先登录,然后才能关注“新来者问题”链接。
参见
有关什么是空头的更多信息,请查看以下链接: Writing Native bears
将帮助您入门的简单问题被标记为 difficulty/newcomer
只是为了让您了解与我们合作的感觉和工作流程。
科拉社区创造了源源不断的 newcomer
为像您这样即将加入组织的人提供可用的问题,这样您就可以学习如何根据Coala组织发展指南做出贡献,同时还可以做一项真正的任务。
科拉就是这么做的 not 遵循GitHub的“流程”工作流程,因此请务必仔细阅读我们的指南。您将需要使用 git
命令行。在新人入职过程中,我们将帮助您攻克 git
,这样您就可以成为我们超级高效开发团队的一员。
如果您不遵循Coala的工作流程,我们的机器人将会变得暴躁,我们社区的成员将尝试以各种可能的方式帮助您合并您的Pull请求,Coala的方式。
从未 为您的新来者问题创建第二个拉式请求。相反,如果您在第一次拉入请求时遇到问题,请从手册中寻求帮助或寻求以下方面的指导 gitter chat 来解决你的麻烦。
您的拉取请求将 not 被接受,直到它符合Coala标准,即使您的解决方案是惊人的正确。如果您忽略机器人或我们的开发人员,或者如果您关闭任何拉取请求,我们将别无选择,只能得出结论,您已经放弃了Coala新来者进程,以及您令人惊叹的解决方案 will 被丢弃了。我们可能会提示您完成拉取请求,但最终维护人员将关闭未完成的拉取请求,并且您的新来者问题将返回到可用队列,为下一个学习Coala工作流的人员做好准备。
现在选择一个未分配并且您想要解决的问题。请留下您希望分配给该问题的评论。这样,我们就不会有多个人同时处理同一问题。
请记住,在您了解问题之后,所有新出现的问题都应该非常容易解决。选择一个你真正了解的新问题。如果您花了一个多小时调试或编码,可能是您的新用户问题被错误地归类为新用户问题。要求开发人员检查是否应将其重新分类为 low 困难。
小心
如上所述,在没有被分配的情况下,你永远不应该在一个问题上工作。幸运的是,科罗博在这里帮助你!如果您有兴趣解决问题,只需在gitter chat中编写以下命令:
corobo assign <issue_link>
请务必将完整链接复制到该问题!只有当你知道问题是什么,并知道如何解决它时,你才会考虑这个问题。
你可以用科罗博做一些令人惊叹的事情。
如前所述的问题分配。
文件问题::
corobo file issue <repo> <title> <description>您不应关闭任何公关,而应将其标记为正在进行中::
corobo mark wip <full url>要将请购单标记为待审核,请执行以下操作:
corobo mark pending <full url>要查看所有Corobo命令,请执行以下操作:
corobo help
在开始第一次提交之前,请查看以下链接: Writing good commits .
重要
处理问题的一个重要部分是以便于他人阅读和理解的方式记录您的工作。许多新来者的问题都涉及到改进文档。
有关编写好的文档的更多信息,请查看以下链接: Writing Documentation
有关如何根据PEP8代码样式约定设置Python代码样式的更多信息,请查看以下链接: PEP8 Style Guide for Python code
步骤3.验证问题是否存在¶
在处理一个经常被忽视的问题时,这是重要的一步。您必须确保您要处理的问题存在,因为它可能已经由于另一个问题的公关而被修复。
重要
如果问题是源代码中的错误,则应通过执行相关代码或文件来确认这一点。您还应该弄清楚如何纠正这个错误。
如果问题与文档中的某些差异有关,请在文档中找到它所在的区域。了解如何删除它。
如果问题需要添加一些附加功能,请检查是否可能并且与现有功能不冲突。
如果问题是注释或文档中的某些语法或拼写错误,则确定问题是否仍然存在,如果仍然存在,如何纠正。
您必须验证问题是否确实存在,并且只有在您知道如何修复的情况下才能解决该问题。在验证问题的同时,您也必须开始思考解决问题的方向。如果您能够找到该问题的修复程序,那么您肯定可以要求它!
还应执行以下操作以确认问题的有效性:
检查问题上是否有“关闭”标签。如果您可以看到红色的“已关闭”标签,则表示问题已关闭。当解决该问题的Pull请求合并到存储库的默认分支中时,该问题将被关闭。
检查是否存在开放拉取请求。如果它存在,那么您可能会寻找其他问题,因为活跃的公关意味着其他人正在处理该问题,而该人的工作尚未得到审查。您可能还会注意到,即使有开放的拉取请求,有时人们仍然可以声明该问题。例如,当打开的拉取请求已经过期了几个月,那么很可能是以前的开发人员忘记了它,或者放弃了。在这种情况下,您需要声明您愿意解决此问题,并在我们的Gitter渠道上寻求帮助。
您还可以在问题页面上显示的搜索栏中键入问题编号。如果问题存在,则它将显示在搜索结果中。另外,通过检查“Assignee”列,确保没有将其分配给任何人。
一旦你做完以上的事情,你就可以开始了!
步骤4.创建Fork并测试您的更改¶
本教程假设您正在使用自己的叉子。要分叉存储库,请转到Coala/Coala-Bear的官方存储库,然后单击 Fork
按钮。要在本地添加它,只需运行:
$ git remote add myfork fork_link
在哪里? myfork
是你的叉子的名字,还有 fork_link
是指向您的派生存储库的链接。
重要
重要的是你要 请勿 在派生资料库的主分支上进行更改,以避免以下情况:
如果您将存储库重新定址到原始的同步,则推送到远程主服务器的每个提交都将拉入您的主服务器分支中。然后,如果您发出拉取请求以将更改提交到远程,则从REBASE同步的提交将与您在拉取请求中所做的工作一起重新提交。
您不能有两个使用相同分支机构名称的拉取请求。因此,如果在Pull请求中使用了fork的主服务器,而您决定处理不同的问题,则最终将不得不进行分支。不同的是,您在主分支上进行的每个新提交都将附加到初始拉请求,这将导致更改该请求的目的。
如果在Pull请求中使用了fork的主服务器,则必须将更改保留在分支中,直到GET合并到远程主服务器。如果您决定处理不同的问题,这将导致上面列出的复杂情况。
为了避免上述情况,您可以创建一个新分支来处理此问题。要执行该运行,请执行以下操作:
$ git checkout -b <branchname>
现在,您需要确保您的更改确实有效。为此,您需要先在本地测试它,然后再将其推送到您的分叉,并用具体的示例进行检查。第一次,您将需要安装一些要求。这可以通过在Coala项目目录的根目录下执行以下命令来实现:
$ pip3 install -r test-requirements.txt -r requirements.txt
安装测试依赖项后,运行pytest在本地测试您的更改:
$ pytest
incase pytest会给您一个错误,请尝试;
$ python3 -m pytest
之后,只需输入以下命令即可运行Coala
$ coala
添加到您的bash提示符中。这将分析您的代码并帮助您修复它。
步骤5.发送您的更改¶
小心
在提交更改之前,请检查您是否确实位于步骤3中创建的开发分支中。要检查您是否位于分支中,请键入以下内容:
$ git branch
您当前的分支机构旁边将有一个星号(*)。确保主分支旁边没有星号。
现在您已经修复了问题,并对其进行了测试,并且您认为可以合并它了,请将更新后的文件添加到临时区域:
$ git add <file/folder_name>
使用以下命令创建提交:
$ git commit
这将打开一个文本编辑器以写入提交消息。
保存提交后,您可以使用以下命令检查提交消息:
$ git show
如果您在提交消息中出错,请再次编辑提交消息:
$ git commit --amend
一旦您对提交消息是正确的感到满意,使用以下命令将其推送到您的分叉:
$ git push -u myfork <branchname>
在哪里? myfork
是您在上一步中添加的分叉的名称。
进行更改后,建议您通过以下方式在派生的存储库上测试代码 adding the required CI tools .
备注
你也可以在你的Github账户上添加一张头像,这样你就可以脱颖而出了!
步骤6.创建拉取请求¶
现在您的提交已经发送到您的fork,是时候创建 Pull Request
。您可以通过访问GitHub上的分叉并单击 New Pull Request
.
祝贺你! 您现在已经创建了您的第一个 Pull Request
你说什么?
现在,在让其他贡献者审查您的工作之前,系统将进行自动代码审查,并对所请求的改进进行注释(考虑编码样式和提交消息规则、行长和间距等)。根据您的取货请求。
重要
它是 从未 允许关闭您的拉取请求。 绝不可能!
它是 总是 可以使用以下工具修改您的拉式请求 git .
绝对不应该删除您的分支或叉子,请关闭您的 Pull Request
或者开一家新的。所有这些行动都会造成混乱。
强烈建议您使用提供的工具 git
将某些修改应用于您的拉式请求,而不因同一问题打开另一个拉式请求。
备注
不要删除你在Github上的评论,因为这会让其他开发者很难关注这个问题。如果有打字错误或任务列表需要更新,您可以改为编辑您的注释。如果您需要添加新信息,请添加新注释。
如果你知道你有更多的工作要做 Pull Request
在准备好接受它之前,您可以通过以下方式向其他开发人员指明这一点: Pull Request
标题为 wip
(不区分大小写,代表“正在进行的工作”)。
步骤7.等待审核¶
创建拉取请求后,您的PR将进入审核流程(所有内容将在下一步进行说明),您所能做的就是等待。在这一步你能做的最好的事情就是审查别人的公关。这不仅有助于维护人员减轻工作量,而且是成为一名成熟的煤工的三个核心步骤之一。除非系统要求您关闭Pull请求,否则不要关闭该请求。
有关检查代码的更多信息,请查看此 link .
备注
复查代码可以帮助您从其他人的错误中学习,这样您就可以避免在将来犯同样的错误!因此,你在这个过程中提升了自己。
我们强烈建议您做评论。 不要怕做错了什么,总会有人在把它并入师父之前先看一看。
步骤8.评审流程¶
在创建您的 Pull Request
,它将进入审查过程。你可以从 process/pending review
标签。现在您所要做的就是等待,或者让其他开发人员知道您已经在Gitter上发布了您的更改。
重要
不要在每次推送更改时都标记审阅者。只要有时间,他们就会始终如一地审查公关!
现在有两种可能性:
你的
Pull Request
被接受,并且您的提交将合并到主分支中你的
Pull Request
不会被接受,因此您需要根据审阅意见对其进行修改
小心
等待审阅者审阅完您的整个拉取请求并对其进行标记 process/wip
。如果你在这之前再推一次,他们的评论就消失了,这可以被认为是粗鲁的。
备注
你可能想知道你电脑上的那些东西是什么 Pull Request
是。有关它们的更多详细信息,请参见 this page .
这是非常不可能的,你的 Pull Request
第一次尝试就会被接受-但别担心,这只是它的工作方式。它能帮我们保住科拉 清洁的 和 稳定的 .
参见
Review Process <http://api.coala.io/en/latest/Developers/Review.html> _.
现在,如果需要修改代码,只需使用以下命令再次编辑、添加并提交即可
$ git commit -a --amend
这将编辑您的最后一条提交消息。如果我们的审阅者认为您的提交消息是可接受的,您可以简单地再次发送它(不做任何更改)。如果没有,请编辑并发送。您已成功编辑您的上次提交!
备注
别忘了!编辑您的提交后,您将不得不再次推送它。这可以使用以下工具来完成:
$ git push --force myfork
意义 myfork
is explained in step 3 of this guide . 这个 Pull Request
将使用最新更改自动更新。
祝贺你! 你的公关刚刚被接受了!你太棒了。现在你应该 tell us about your experience and go for a low issue -他们真的很有价值!
注意
拉式请求审核后或合并后请勿删除分叉!
备注
不要只是解决一个新来的问题! 强烈建议您解决一个新来的问题以熟悉Coala的工作流程,然后继续 difficulty/low
问题。
不过,熟悉开源项目的人可以从 difficulty/low
问题。
我们强烈建议您从 reviewing 在你完成新人的问题之后,因为复习可以帮助你了解更多关于Coala和Python的知识。
备注
如果您需要帮助解决问题,您可以随时询问我们。这个社区非常有帮助,所以 don't ask to ask, just ask .
如果您在查找链接时遇到问题,您可以在我们的 useful links section .