如何以新手身份参与开源项目——流程篇
寻找可贡献的存储库
创建问题/被分配问题
编码
创建拉取请求
结论
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
开源贡献是开发者作品集中的一大亮点。开发者可以从中学习到很多东西,例如理解不同的代码库以及如何与代码库维护者进行有效沟通。开源贡献不仅能帮你找到工作,还能极大地提升你的作品集。
作为一名新手,我在为开源项目做贡献时,常常找不到合适的方法。你会遇到各种各样的困难,比如如何找到代码仓库、如何创建 issue 和 pull request 等等。所以今天,我们就来探讨一下为开源项目做贡献时应该遵循的方法。我们将学习为开源项目做贡献的工作流程。
我们将通过我早期对forem所做的开源贡献之一的例子来学习所有这些。
我做了什么贡献?
前 :
后 :
这是我在通过聊天界面进入个人资料页面时遇到的一个用户界面问题。现在已经修复了。那么,我们开始吧。
寻找可贡献的存储库
代码中:
如果你经常使用开源项目,你可能会遇到用户界面、结构、功能等方面的错误。我的问题就是在 dev.to 上和朋友聊天时发现的,这促使我在 GitHub 的 forem 仓库中创建了一个 issue。
在文档中:
如果您在文档中发现任何缺失的信息、过时的说明,甚至是拼写错误,也可以在开源仓库中创建一个问题。
您可以在 GitHub 上搜索问题。
您可以处理由不同用户或维护者创建的现有问题。您可以使用各种工具在不同的 GitHub 仓库中查找问题。以下是我最喜欢的 4 个工具:
我写了一篇详细的文章,介绍如何利用这些工具查找问题。您可以阅读《查找可贡献的开源项目》 。
创建问题/被分配问题
如果你想处理某个现有问题,只需在该问题下留言,说明你想被分配到该问题上处理。他们会为你安排人手。
如果您想创建新问题,请转到“问题”选项Issue卡并点击New IssueGitHub 仓库。许多热门仓库都提供创建问题的模板。您只需填写与问题相关的数据,为问题命名,然后点击按钮即可Submit new issue。
成功创建问题后,只需等待他们的回复。在此期间,他们会仔细查看问题并尽快回复您。收到回复后,您可以主动请求他们协助解决问题。他们很可能会指派您负责该问题。
我在论坛上创建了问题。他们提供了一个非常好的问题模板,我只需要填写问题相关信息即可。两三天后,他们通过我创建的问题联系了我,询问了问题的详细情况,例如“问题具体是什么?”和“可能是什么原因造成的?”。之后,我请求他们分配问题。当天晚些时候,他们的维护人员就将问题分配给了我。
一旦你被分配到某个问题,就可以开始着手编写代码了。
编码
大多数代码仓库都有一个CONTRIBUTION.md配置文件。顾名思义,它为贡献者提供安装指南、操作指南以及贡献代码时的行为准则。它还能帮助您在本地环境中安装项目。
如果没有贡献指南,大多数项目都遵循简单的贡献流程。让我们来了解一下。
-
Fork:首先将该仓库 fork 到你的 GitHub 仓库。你可以点击
Fork仓库右上角的按钮来完成此操作。Fork 操作会将仓库副本复制到你的 GitHub 仓库中,你可以在其中测试代码。 -
克隆现在是时候将仓库复制到本地了。打开终端并运行以下命令
git clone <HTTPS URL>
您可以从代码库的代码部分获取 HTTPS URL。
-
运行:将代码获取到本地后,现在我们需要根据代码库安装必要的依赖项。对于大多数基于 JavaScript/NodeJS 的项目,您需要运行命令来安装所有库依赖项。您可以通过仓库中的`.env`或 `.env`文件
npm install了解如何在本地运行项目。README.mdCONTRIBUTION.md -
分支:创建一个单独的分支来添加你的代码。不要直接将代码推送到
main分支上。你可以使用以下代码创建单独的分支:
git checkout -b <branch-name>
你可以给分支起任何名字。我建议用你的 GitHub 用户名。
-
代码:您已对代码/文档进行了更改。
-
推送:完成编码后,就可以将代码推送到你的 GitHub 仓库了。你可以使用以下命令:
逐个运行命令
$ git add . // adds a change in the working directory to the staging area
$ git commit -m"<add message to commit>" // commits create a snapshot of your repository
$git push origin <branch-name> // push will create a pull request through the created branch to the main
- 合并:推送完成后,请登录您的 GitHub 帐户访问该仓库。您会在仓库中找到一个 Pull Request。系统会运行必要的测试,一旦所有测试都通过,该 Pull Request 即可合并到主分支。点击合并按钮
Merge PR即可将其合并到您的主分支仓库。
我已经按照上述步骤将代码添加到我在 GitHub 上的代码库中。现在我们的代码库已经全部设置完毕。接下来需要向他们的仓库创建一个 Pull Request。
创建拉取请求
当你对所做的必要更改感到满意后,向他们的代码仓库创建一个拉取请求 (Pull Request)。请按照以下步骤创建拉取请求:
-
转到该
Pull Request选项卡。 -
点击该图标
New pull request,它将显示您与基础存储库进行比较后所做的更改。 -
点击
Create pull request,您将被重定向到带有“创建拉取请求”选项卡的基础仓库。在此选项卡中,我们需要为拉取请求命名并添加描述。描述可以使用模板,您只需填写与拉取请求相关的信息即可。点击Create pull request创建拉取请求。 -
成功创建拉取请求后,请等待一段时间(可能需要 1-2 天,具体取决于工作日)以获取他们的反馈。如果他们认为可以改进,可能会提出修改意见。他们会提供他们的愿景和实现目标的指导。一旦他们满意,拉取请求就会合并到他们的代码库中。
我对 Forem 的维护服务非常满意。他们为我提供了修改代码所需的必要信息。当他们认为我的代码已经完善后,就将其合并到了他们的代码库中。
结论
参与开源项目是接触真实工作场景、提升技术沟通能力的绝佳途径之一。为开源项目做贡献好处多多。
我希望这篇文章能帮助你了解如何在 GitHub 上为开源仓库做贡献。
祝你编程愉快!
文章来源:https://dev.to/surajondev/how-to-contribute-to-an-open-source-project-as-a-beginner-the-flow-5b03



