如何做出你的第一个开源贡献

2025-05-24

如何做出你的第一个开源贡献

开源软件是科技行业的重要组成部分。我们一遍又一遍地听到开源的力量。在《CodeSandbox 播客》第二集中,嘉宾 Elizabet Oliveira 探讨了开源及其对她职业生涯的影响。本文将重点介绍如何成为一名开源贡献者。首先,让我们来探讨一下为什么你应该对参与开源感兴趣。

为什么你应该开始为开源项目做贡献

我认为,开源确实对我的职业生涯有帮助,因为我觉得面试更容易……而且我最终在拉斯维加斯的 React 大会上发言。之后,我开始在其他会议上发言。所以我觉得它为我打开了很多大门。

我们的时间有限,我相信你的待办事项清单上肯定有很多事情要做。所以你可能会想,为什么还要考虑为开源软件做贡献呢?这真的值得你投入时间和精力吗?

为开源项目做贡献有很多好处。评估一下你的职业和发展目标,或许你可以通过为开源软件做贡献来实现它们。以下是参与开源的一些好处的简要列表(并非详尽):

  • 熟悉 Git
  • 获得经验
  • 引起雇主和招聘人员的注意
  • 与社区中的其他开发人员联系

学习 Git 和 GitHub 基础知识

在寻找开源项目之前,你应该了解 Git 和 GitHub 的基础知识。你不需要成为专家。但有一些命令你一定要知道并理解:

  • git init
  • git 克隆
  • git checkout -b
  • git 分支
  • git add
  • git commit -m
  • git合并
  • git push
  • git pull

本文不会讨论这些命令的作用或工作原理。这只是一份清单,用于评估你的理解程度。如果你不熟悉任何 Git 命令,请查看这份实用的Git 速查表。为了确保你了解每个命令的用法和使用时机,我建议你使用 Git 在本地创建自己的项目,并将项目推送到 GitHub。这将帮助你熟悉 Git 和 GitHub 的协同工作方式。一旦你熟悉了,就可以继续下一步了。

找到一个你觉得合适的项目

这一步乍一看可能有点吓人。有时,你会看到一个项目看起来很复杂,甚至超出了你的技能水平。GitHub 上的一些项目非常强大且内容丰富,更不用说 GitHub 上开源项目的数量了。你该如何找到既感兴趣又适合你技能水平的项目呢?

有几种方法可以做到这一点。您可能已经找到了感兴趣的开源产品或项目。如果是这样,请查看带有“ good first issue”“first timers only”标签的问题。这些问题专门针对初学者或开源经验较少的人士。如果您还没有想好要做什么项目,请查看“First Timers Only”“Awesome for Beginners”仓库以了解更多选项。您也可以向您认识的其他开发者或社区成员寻求建议。

找到项目后,你还需要做更多才能为项目做出有意义的贡献。你需要知道如何在参与项目时进行沟通。

沟通指南

首先,与项目相关人员交谈时,务必保持礼貌和友善。这条规则适用于所有在线交流。务必记住,维护人员非常忙碌,可能需要同时处理多项事务。因此,请耐心等待,并始终保持尊重的沟通方式。

大多数项目都会有专门针对项目的沟通指南。这些指南通常可以在README.mdCONTRIBUTING.md文件中找到。请务必通读整个文档,并在实际向项目贡献代码时,确保遵循维护者指定的结构和指南。

除了阅读和遵循CONTRIBUTING.md指南之外,在提出问题、提交拉取请求(很快会介绍到)以及您与项目中其他成员之间的任何其他沟通时,您应该尝试遵守以下一些一般规则:

  • 提交问题时,请务必详细描述您遇到的 Bug 或问题。请提供有助于维护人员或其他人员在本地重现 Bug 的信息。
  • 如果您心中已有解决方案,最好也提供一个可行的解决方案。这可以简化沟通,并帮助维护人员快速确定您可能的贡献是否符合项目的方向。
  • 尝试在代码中添加注释。项目的其他成员可能不熟悉你的编码风格或思维方式。在代码中添加解释性注释可以使你的逻辑清晰,从而使其他人能够快速理解你的代码工作原理。

当您选择了想要参与的项目并且彻底阅读了CONTRIBUTING.md和/或README.md之后,您就可以实际地为该项目贡献代码了。

为你的第一个项目做出贡献

选定开源项目后,您可以通过几种方式决定要添加到项目中的内容。您可以处理 GitHub 上“问题”选项卡下现有的问题。

GitHub 上的“问题”选项卡

在处理现有问题时,您可以查找标有“良好首个问题”“仅限首次出现者”标签的内容(如前所述)。

问题上的“良好首个问题”标签

如果您发现了一个您感兴趣的问题,那么在该问题上留下评论并概述您想要实施的解决方案可能会有所帮助。

您还可以根据您发现的错误或您认为需要改进的功能创建问题。点击“新建问题”按钮即可执行此操作。

GitHub 上的“新问题”按钮

如果您决定提交新问题,请务必提供相关信息,以便维护人员了解您遇到的 Bug 和/或您想要添加或改进的功能以及原因。请记住之前提到的沟通技巧。

您可以跳过创建问题的步骤,直接提交拉取请求。这样可以省去创建和提交问题过程中的一些沟通环节,让您可以直接开始工作。但请记住,项目维护者可能会拒绝您的拉取请求。因此,您所做的工作最终可能无法被利用。如果您希望采用这种方式,可以继续执行以下步骤,其中涵盖了提交拉取请求的流程。

在所有选项中,我建议先解决现有问题。无论你决定采用哪种方式,请务必遵循维护人员在README.md和文件中列出的指南。CONTRIBUTING.md

1. Fork 你选择的项目

在 GitHub 上,分叉您选择使用的存储库。

在 GitHub 上创建仓库

这将创建项目的副本并保存在您的 GitHub 帐户下。

您的 GitHub 帐户上的分叉存储库副本

2. 克隆你的 fork

要克隆您创建的分支,请单击“代码”按钮并复制提供的 URL。

在你的终端中,切换到你想要保存分叉项目的目录

cd <directory_name>
Enter fullscreen mode Exit fullscreen mode

现在使用 git clone 和刚刚复制的 URL 克隆你的分支仓库

git clone <url>
Enter fullscreen mode Exit fullscreen mode

切换到刚刚创建的文件夹。这个文件夹的名称很可能与你 fork 的项目名称一致。如果我们以 Sandpack 仓库为例,那么名称应该是 [sandpack]:

cd <project_name>
Enter fullscreen mode Exit fullscreen mode

3. 本地创建分支

在开始工作之前,创建一个单独的分支来保存您添加或编辑的所有代码。

git checkout -b <branch-name>
Enter fullscreen mode Exit fullscreen mode

4. 做出改变

现在你终于可以开始写代码了!你还可以编辑文案、修复语法错误或改进文档。无论你想做什么修改,现在都可以在这一步完成!

5. 提交并推送你的更改

在提交和推送更改之前,请务必运行并测试代码。一旦确定代码正常运行,即可提交更改并将其推送到 GitHub。

git add .
git commit -m 'commit message here'
git push -u origin head
Enter fullscreen mode Exit fullscreen mode

6. 创建拉取请求

前往 GitHub 上的原始项目,您应该会看到一个提示,鼓励您从创建的分支打开一个新的拉取请求。点击“比较并拉取请求”按钮。

比较并拉取请求按钮

完成后,你将看到一个文本编辑器。在其中填写所有相关信息,以便理解你刚刚完成的工作。完成后,点击“创建拉取请求”按钮。

文本编辑器和创建拉取请求按钮

创建拉取请求后,您需要等待维护人员的回复。如果您所做的工作没有错误,并且符合项目的范围和方向,维护人员可能会将您的工作合并到项目中。他们可能会要求您对已完成的工作进行修改。他们也可能会拒绝您的拉取请求。如果发生这种情况,请不要灰心。维护人员这样做可能有充分的理由,并且很可能会告知您。您可以决定处理同一项目中的其他问题,也可以寻找新的项目进行合作。

结论

开源可能看起来令人望而生畏。但一旦你深入其中,你就会发现它带来的回报,并很快获得收益。以下是为开源做出贡献所需步骤的简要概述:

  1. 仔细阅读README.mdCONTRIBUTING.md
  2. 分叉项目存储库
  3. 克隆项目到本地
  4. 为你的工作创建一个功能分支
  5. 完成更改后,提交并推送您的工作
  6. 开启 PR

完成这些之后,你就正式成为一名开源贡献者了!如果你想在开始之前做好更多准备,或者想了解更多关于开源的知识,这里有一些我认为非常有用的资源。

其他资源

文章来源:https://dev.to/codesandboxio/how-to-make-your-first-open-source-contribution-2oim
PREV
🔥 2020 年 Web 开发人员前端路线图
NEXT
学习 HTML/CSS,然后开始自由职业——我如何通过电话推销以 19,950 美元的价格签下我的第一个客户