注意: 贡献教程已更新。请按照主 README 中的当前说明操作 — 无论语言如何,它都是权威指南。
Logo 由 CandidDeer 用 💖 制作
你愿意成为这个项目的维护者并帮助它继续运行吗?如果你有兴趣,请阅读维护者指南,加入我们的 Discord 服务器,并向项目维护者申请加入团队。
这是一个帮助首次贡献者参与简单易行项目的教程。
- 为开源项目做出贡献。
- 更熟悉 GitHub 的使用。
- 这是给完全初学者的。如果你知道如何编写和编辑锚点标签
<a href="" target=""></a>,那你应该能做到。 - 这也是给那些有一点经验但想做出第一次开源贡献,或者想获得更多贡献以增加经验和信心的人。
任何网页开发者,无论是新手还是老手,都需要使用 Git 版本控制,而 GitHub 是每个人都在使用的最流行的 Git 托管服务。它也是开源社区的核心。熟悉使用 GitHub 是一项基本技能。为项目做出贡献可以增强你的信心,并让你在 GitHub 个人资料上有东西可以展示。
如果你是一名新开发者,正在考虑是否需要学习 Git 和 GitHub,这里有答案:你昨天就应该学会 Git。
你将向这个项目的网页贡献一张像这样的卡片。它将包含你的名字、联系方式、简短描述,以及你推荐的 3 个对网页开发者有用的链接。
你将复制一个现成的卡片模板文件,填入你自己的信息,然后提交。
本教程也有其他语言版本
欢迎翻译项目文档。阅读
翻译指南来贡献。
[!注意] 本教程基于 GitHub Desktop。如果你熟悉终端,请转到此教程(点击这里)
首先让我们设置好工作环境。
- 登录你的 GitHub 账户。如果你还没有账户,请加入 GitHub。我建议你在继续之前先完成 GitHub Hello World 教程。
- 下载 GitHub Desktop 应用。
- 或者,如果你习惯在命令行使用 Git,也可以这样做。这里是 CLI 教程的链接。
- 如果你使用 VS Code,它自带集成 Git,允许你直接从编辑器完成我们需要做的事情。
- 然而,遵循本教程最简单的方式是使用 GitHub Desktop。
现在你已经设置好了,让我们开始为项目做贡献吧。
通过 10 个简单的步骤成为开源贡献者。
预计时间:不到 30 分钟。
- 这里的目标是复制这个项目并放到你的账户中。
- 仓库(repo)是 GitHub 上项目的称呼,fork 是它的副本。
- 确保你在本仓库的主页面。
![]() |
|---|
| 点击 Fork 按钮 |
- 现在你在自己的账户中有了这个项目的完整副本。
- 现在我们想要制作项目的本地副本。即保存在你自己机器上的副本。
- 打开 GitHub Desktop 应用。在应用中:
| 点击 File 然后 Clone repository |
- 你将看到你在 GitHub 上的项目和 fork 列表。
- 选择
<your-github-username>/Contribute-To-This-Project。 - 点击 Clone
| ↪️ 一个 fork 的项目左边会有 fork 符号。你的 fork 会有你自己的 GitHub 用户名 |
|---|
- 这需要一点时间,因为项目会被复制到你的硬盘上。我建议你保持默认路径,通常是
..\Documents\GitHub。 - 现在你有了项目的本地副本。
- 一旦仓库克隆完成并在 GitHub Desktop 中打开,就是时候创建一个新分支了。
- 分支是一种将你的更改与项目主要部分(称为
Master)分开的方式。例如,如果出了问题,你对更改不满意,你可以简单地删除分支,主项目不会受到影响。
↪️ 点击 Current branch,然后点击 New |
|
|---|---|
↪️ 给你的分支命名,然后点击 Create branch |
|
| ↪️ 将你的新分支发布到 GitHub |
- 你可以随意命名,但由于这是一个添加带有你名字的卡片的分支,将其命名为
your-name-card是好的做法,因为这能保持此分支意图的清晰。 - 现在你已经创建了一个独立于 master 的新分支。
- 对于接下来的步骤,确保你在这个分支中工作。你会在 GitHub Desktop 应用顶部中央看到你所在分支的名称,那里显示着 Current branch。
不要在 master 分支上工作
- 项目在
cards/文件夹中有一个现成的卡片模板等待着你。 - 在你的电脑上找到项目文件夹。如果你保持默认路径,这将是类似
你的电脑 > Documents > GitHub > Contribute-To-This-Project > cards的位置。 - 在
cards/文件夹中,你会找到一个名为template.html的文件。那是你的起点。 - 复制
template.html并将副本重命名为your-github-username.html。例如,如果你的 GitHub 用户名是octocat,你的文件应该命名为octocat.html。
如果你使用终端:
cp cards/template.html cards/your-github-username.html- 现在在代码编辑器中打开
cards/your-github-username.html。这是你唯一要编辑的文件。
- 你的卡片文件看起来像这样:
<div class="card">
<p class="name">Your name</p>
<p class="contact">
<!-- 添加一个或多个联系链接。至少包括你的 GitHub。 -->
<i class="fab fa-github"></i>
<a href="https://www.github.com/your_user_handle" target="_blank">Your handle</a>
</p>
<p class="about">Write a sentence or two about yourself.</p>
<div class="resources">
<p>3 Useful Dev Resources</p>
<ul>
<li>
<a href="#" target="_blank" title="First Resource">Resource 1</a>
</li>
<li>
<a href="#" target="_blank" title="Second Resource">Resource 2</a>
</li>
<li>
<a href="#" target="_blank" title="Third Resource">Resource 3</a>
</li>
</ul>
</div>
</div>-
将
Your name替换为你的名字。不要更改class="name"。 -
将 GitHub 链接和 handle 替换为你自己的。如果你愿意,可以添加更多联系链接 — 前往 Font Awesome Icons 搜索正确的图标(例如
fab fa-linkedin、fab fa-x-twitter)。同样的模式,只需替换 class。 -
将
Write a sentence or two about yourself替换为简短描述。把它想成更像是一条推文而不是博客文章。 -
对于每个资源,将
#替换为真实链接,在title=""中添加简短描述,并替换链接文本。分享任何对网页开发者有用的内容 — 视频、演讲、播客、文章、工具。如果你是初学者,不要被这个吓到,分享你知道的任何东西,即使你认为很基础。你会惊讶有多少人会受益。- 链接:
href="https://the-real-url.com"— 使用完整 URL,不要用短链接。 - 标题:
title="Brief description"— 几个词就够了。 - 名称: 标签之间的文本
>Name of resource</a>。
- 链接:
-
确保你保存了所有更改。
-
注意:不要更改任何 class 名称或 HTML 结构。 验证你 PR 的机器人会检查这些。
- 打开你的卡片文件并仔细阅读。确保所有占位符文本都已删除,所有链接都以
https://开头,没有任何明显错误。 - 在浏览器中打开链接进行测试也是好的做法,确认它们能正常工作并指向你期望的地方。
- 这就是你需要做的所有测试。提交 PR 时的自动检查会捕获你可能遗漏的任何结构性问题。
- 回到 GitHub Desktop 应用。
- 你的更改会自动添加到暂存区。
- 这意味着 Git 已经记录了所有已保存的更改。
- 你可以在应用中看到这一点。你添加到文件的所有内容都会显示为绿色,删除的内容会显示为红色。
- 你的更改现在已经保存或提交了。但它们只保存在本地,即你的电脑上。
- 将本地更改与你在 GitHub 上的仓库同步叫做 Push。你正在将更改从本地仓库"推送"到 GitHub 上的远程仓库。
↪️ 点击 Push 按钮 |
|---|
- 几秒钟后操作完成,现在你的机器和 GitHub 上都有了这个分支的完全相同的副本。
- 这是你一直在等待的时刻;提交 Pull Request(PR)。
- 到目前为止,你所做的所有工作都在项目的 fork 上,如你所记,它位于你自己的 GitHub 账户中。
- 现在是时候将你的更改发送到主项目以与其合并了。
- 这叫做 Pull Request,因为你正在请求原始项目维护者将你的更改"拉"到他们的项目中。
- 前往 GitHub 上你的 fork 的主页面(顶部会有 fork 图标和你自己的用户名)。
- 在仓库顶部附近,你会看到一条高亮的 pull request 消息和一个绿色按钮。
↪️ 点击 Compare and pull request |
↪️ 这就是 Open a pull request 页面的样子。 |
- 记住:你正在尝试将你的分支与原始项目合并,而不是与你 fork 上的
Master分支合并。 - 下图让你了解 pull request 的标题应该是什么样子。左边是原始项目,后面是 master 分支。右边是你的 fork 和你创建的分支。
↪️ 创建 pull request:写一个标题,在描述中添加可选信息,然后点击 Create pull request |
- 不要被所有选项吓到。你现在只需要做这三步。
- 保持
Allow edits from maintainers选项勾选。 - 现在 Pull Request 将被发送到项目。一个机器人会自动检查你的卡片,如果一切看起来都好,会为你合并它。完成时你会收到 GitHub 通知。
就是这样。你做到了!你现在已经在 GitHub 上为开源做出了贡献。
你已经向一个实时网页添加了代码:https://syknapse.github.io/Contribute-To-This-Project
你的卡片将被自动审核,如果一切正确就会被合并。如果机器人发现问题,它会在你的 PR 上留言,准确解释需要修复什么 — 将修复推送到同一分支,它会自动重新检查。
我的 HTML 文件去哪了? 一段时间后,提交的卡片会被自动归档以保持仓库轻量。你的 html 文件会自动从 cards/ 目录中删除,但其数据会保留在归档中。你的卡片仍然会显示在网站上。了解更多。
- 过一会儿回来检查你已合并的 Pull Request。
- 当你的卡片被合并时,你应该会收到 GitHub 的邮件。你也可以随时回到你的 PR 页面查看其状态。
- 你也可以从这个_免费_系列中学习如何贡献:如何在 GitHub 上为开源项目做贡献
- 如果你发现这个项目有用,请在页面顶部给它一个 ⭐ 星标 ⭐ 并分享以帮助传播
- 你可以加入我们的 Discord 服务器
- 你可以关注我并通过 𝕏 (Twitter) 或使用这些其他方式与我联系
- 这是一个开源项目,所以除了贡献你的卡片,你也欢迎帮助修复 bug、改进或新功能。开启一个 issue 或发送一个新的 pull request
- 为了帮助改善我们的社区,请查看 GitHub Discussions 标签页,位于 Pull Requests 旁边。这个区域是介绍你自己、深入讨论开源、与项目维护者交流的地方。你愿意帮助我们构建这个功能并增强我们的社区吗?
- 感谢你为这个项目做贡献。现在你可以继续尝试为其他项目做贡献;寻找
标签,找到适合初学者的贡献选项。 - 我也在寻找合作者帮助我审核和合并 PR。如果你想获得更多高级 Git 练习,请阅读维护者指南,加入我们的 Discord 服务器,并向项目维护者申请加入团队。
这个项目深受 Roshan Jossey's 出色的 first-contributions 项目及其优秀教程的影响。
它也特别受到 #GoogleUdacityScholars 周围伟大社区的启发,The Google Challenge Scholarship: Front-End Web Dev,2017 年欧洲班。
本项目采用 MIT 许可证 授权。
