Skip to content

Latest commit

 

History

History
365 lines (246 loc) · 23 KB

File metadata and controls

365 lines (246 loc) · 23 KB

注意: 贡献教程已更新。请按照主 README 中的当前说明操作 — 无论语言如何,它都是权威指南。


image info

Logo 由 CandidDeer 用 💖 制作

Discord PRs Welcome Open Source Love


公告:

你愿意成为这个项目的维护者并帮助它继续运行吗?如果你有兴趣,请阅读维护者指南,加入我们的 Discord 服务器,并向项目维护者申请加入团队。


快速访问索引


简介

这是一个帮助首次贡献者参与简单易行项目的教程。

目标

  • 为开源项目做出贡献。
  • 更熟悉 GitHub 的使用。

这是给谁的?

  • 这是给完全初学者的。如果你知道如何编写和编辑锚点标签 <a href="" target=""></a>,那你应该能做到。
  • 这也是给那些有一点经验但想做出第一次开源贡献,或者想获得更多贡献以增加经验和信心的人。

为什么我需要做这个?

任何网页开发者,无论是新手还是老手,都需要使用 Git 版本控制,而 GitHub 是每个人都在使用的最流行的 Git 托管服务。它也是开源社区的核心。熟悉使用 GitHub 是一项基本技能。为项目做出贡献可以增强你的信心,并让你在 GitHub 个人资料上有东西可以展示。

如果你是一名新开发者,正在考虑是否需要学习 Git 和 GitHub,这里有答案:你昨天就应该学会 Git

我要贡献什么?

Contributor Card

你将向这个项目的网页贡献一张像这样的卡片。它将包含你的名字、联系方式、简短描述,以及你推荐的 3 个对网页开发者有用的链接。

你将复制一个现成的卡片模板文件,填入你自己的信息,然后提交。


翻译

本教程也有其他语言版本

阿拉伯语 (عربي) 孟加拉语 (বাংলা) 繁体中文 (繁體中文) 荷兰语 英语 (English)
法语 (Français) 德语 (Deutsch) 印地语 (हिंदी) 意大利语 (Italiano) 日语 (日本語)
韩语 (한국어) 波兰语 (Polski) 葡萄牙语 (Portuguese) 俄语 (Русский) 塞尔维亚语 (Српски)
索马里语 (Af-Soomaali) 西班牙语 (Español) 土耳其语 (Türkçe) 乌克兰语 (українська) 乌尔都语 (اُردُو)
挪威语 (Norsk) 马拉雅拉姆语

欢迎翻译项目文档。阅读翻译指南来贡献。


设置! :)

[!注意] 本教程基于 GitHub Desktop。如果你熟悉终端,请转到此教程(点击这里)

首先让我们设置好工作环境。

  1. 登录你的 GitHub 账户。如果你还没有账户,请加入 GitHub。我建议你在继续之前先完成 GitHub Hello World 教程
  2. 下载 GitHub Desktop 应用
    • 或者,如果你习惯在命令行使用 Git,也可以这样做。这里是 CLI 教程的链接
    • 如果你使用 VS Code,它自带集成 Git,允许你直接从编辑器完成我们需要做的事情。
    • 然而,遵循本教程最简单的方式是使用 GitHub Desktop。

现在你已经设置好了,让我们开始为项目做贡献吧。

↑ 返回顶部 ↑


贡献

通过 10 个简单的步骤成为开源贡献者。

预计时间:不到 30 分钟

第一步:Fork 这个仓库

  • 这里的目标是复制这个项目并放到你的账户中。
  • 仓库(repo)是 GitHub 上项目的称呼,fork 是它的副本。
  • 确保你在本仓库的主页面
Fork
点击 Fork 按钮
  • 现在你在自己的账户中有了这个项目的完整副本。

↑ 返回顶部 ↑


第二步:克隆仓库

  • 现在我们想要制作项目的本地副本。即保存在你自己机器上的副本。
  • 打开 GitHub Desktop 应用。在应用中:
Clone
点击 File 然后 Clone repository
  • 你将看到你在 GitHub 上的项目和 fork 列表。
  • 选择 <your-github-username>/Contribute-To-This-Project
  • 点击 Clone
Clone project
↪️ 一个 fork 的项目左边会有 fork 符号。你的 fork 会有你自己的 GitHub 用户名 your fork
  • 这需要一点时间,因为项目会被复制到你的硬盘上。我建议你保持默认路径,通常是 ..\Documents\GitHub
  • 现在你有了项目的本地副本。

↑ 返回顶部 ↑


第三步:创建新分支

  • 一旦仓库克隆完成并在 GitHub Desktop 中打开,就是时候创建一个新分支了。
  • 分支是一种将你的更改与项目主要部分(称为 Master)分开的方式。例如,如果出了问题,你对更改不满意,你可以简单地删除分支,主项目不会受到影响。
↪️ 点击 Current branch,然后点击 New Create branch
↪️ 给你的分支命名,然后点击 Create branch Name branch
↪️ 将你的新分支发布到 GitHub Name branch
  • 你可以随意命名,但由于这是一个添加带有你名字的卡片的分支,将其命名为 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-linkedinfab 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 已经记录了所有已保存的更改。
  • 你可以在应用中看到这一点。你添加到文件的所有内容都会显示为绿色,删除的内容会显示为红色。
Commit changes
↪️ 下一步叫做 Commit。这大致意味着 确认更改
Commit changes
↪️ 这就是你的 GitHub Desktop 标题应该看起来的样子。注意 Current repository 中项目名称旁边的 fork 符号,以及你的 Current branch 会显示你在第三步中给它的名字
Write commit message and commit
↪️ Commit 你必须填写 Summary 字段。这是解释你更改了什么的提交信息。在这种情况下,"Add my card information" 会是一个合理的信息。你也可以选择添加更详细的 Description。点击 Commit 按钮。你的按钮会显示类似 Commit to "your-branch-name"

↑ 返回顶部 ↑


第八步:推送你的更改到 GitHub

  • 你的更改现在已经保存或提交了。但它们只保存在本地,即你的电脑上。
  • 将本地更改与你在 GitHub 上的仓库同步叫做 Push。你正在将更改从本地仓库"推送"到 GitHub 上的远程仓库。
↪️ 点击 Push 按钮 Push to GitHub
  • 几秒钟后操作完成,现在你的机器和 GitHub 上都有了这个分支的完全相同的副本。

↑ 返回顶部 ↑


第九步:提交 PR(Pull Request)

  • 这是你一直在等待的时刻;提交 Pull Request(PR)。
  • 到目前为止,你所做的所有工作都在项目的 fork 上,如你所记,它位于你自己的 GitHub 账户中。
  • 现在是时候将你的更改发送到主项目以与其合并了。
  • 这叫做 Pull Request,因为你正在请求原始项目维护者将你的更改"拉"到他们的项目中。
  • 前往 GitHub 上你的 fork 的主页面(顶部会有 fork 图标和你自己的用户名)。
  • 在仓库顶部附近,你会看到一条高亮的 pull request 消息和一个绿色按钮。
Submit a Pull Request
↪️ 点击 Compare and pull request
Open a Pull Request
↪️ 这就是 Open a pull request 页面的样子。
  • 记住:你正在尝试将你的分支与原始项目合并,而不是与你 fork 上的 Master 分支合并
  • 下图让你了解 pull request 的标题应该是什么样子。左边是原始项目,后面是 master 分支。右边是你的 fork 和你创建的分支。
Submit a Pull Request
↪️ 创建 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 旁边。这个区域是介绍你自己、深入讨论开源、与项目维护者交流的地方。你愿意帮助我们构建这个功能并增强我们的社区吗?
  • 感谢你为这个项目做贡献。现在你可以继续尝试为其他项目做贡献;寻找 Good First Issue 标签,找到适合初学者的贡献选项。
  • 我也在寻找合作者帮助我审核和合并 PR。如果你想获得更多高级 Git 练习,请阅读维护者指南,加入我们的 Discord 服务器,并向项目维护者申请加入团队。

↑ 返回顶部 ↑


致谢

这个项目深受 Roshan Jossey's 出色的 first-contributions 项目及其优秀教程的影响。

它也特别受到 #GoogleUdacityScholars 周围伟大社区的启发,The Google Challenge Scholarship: Front-End Web Dev,2017 年欧洲班。

许可证

本项目采用 MIT 许可证 授权。

前 100 名贡献者

GitHub Contributors Image

返回顶部 ↑