关于新 GitHub 项目的 10 个技巧

12 位读者喜欢这篇文章。
GitHub logo with navy background

来自 GitHub

GitHub 已经成为许多开源项目的核心部分。虽然很多人关注 GitHub 的代码托管方面,但该平台还包括用于问题管理、代码审查以及与许多其他工具和平台集成的全面功能。

然而,对于新的开源项目来说,入门并确保 GitHub 仓库处于最佳状态并准备好吸引新的开发者可能会有点让人不知所措。为了顺利过渡,这里有 10 个技巧,助你成功启动你的 octo-project 并让你的新项目取得良好的开端。

1. 设置 LICENSE 文件

您应该做的第一件事是为您的项目选择一个许可证,并确保许可证文本位于 LICENSE 文件中。遗憾的是,GitHub 上有太多项目缺少许可证,这使得人们更难使用和贡献代码。

如果您不确定为您的项目选择哪个许可证,网上有 很好的资源 可以帮助您选择最适合您的许可证。

2. 创建 README.md

当您第一次访问 GitHub 仓库时,README.md 文件会呈现在代码下方。这是一个绝佳的机会来介绍您的项目,解释您如何构建代码,并解释人们如何参与进来。请记住,.md 文件是 Markdown 文件,您可以使用 Markdown 语法使它们看起来更漂亮。好吧,我承认,这有点吓人。

3. 创建 CONTRIBUTING.md

类似地,CONTRIBUTING.md 文件旨在展示人们如何参与 GitHub 仓库。当此文件存在时,GitHub 将显示一条小提示,邀请人们了解更多关于贡献项目的信息。单击该链接的用户将看到 CONTRIBUTING.md 的内容。

同样,这是一个解释人们如何参与的绝佳机会。在此文件中,您应该提供简单的逐步说明,说明潜在的社区成员如何克隆和构建代码、浏览要处理的问题/功能、fork 代码、贡献他们的更改,以及他们可以使用哪些沟通渠道来获得帮助和支持。

4. 将错误标记为 'Bitesize'

对于新的潜在贡献者来说,最困难的领域之一是了解他们可以做些什么来帮助项目。当然,问题列表通常是一个不错的起点,但许多问题都充满了上下文和细微差别,这可能会使入门变得困难。

一个简单的解决方案是创建一个 Bitesize 标签,您可以将其应用于对于初学者来说很简单的问题——这可能包括小的 UI 问题、字符串问题、翻译修复等等。只需在您对这些错误进行分类时标记它们,然后在您的 README.md 和 CONTRIBUTING.md 文件中提供一个 URL,以引导潜在的贡献者查看列表并开始。

5. 项目复选框

GitHub 中一个很棒的小功能是能够使用 Markdown 向问题添加复选框。当您为一个包含许多需要完成的任务的较大功能提交问题时,这会很有帮助。这意味着您不需要为每个任务提交大量问题。要添加复选框,只需使用以下语法:[ ]

巧妙之处在于,当您在单个问题中添加多个复选框时,问题列表将在问题标题旁边显示已完成的复选框数量。这提供了一种方便的方法来确定哪些较大的问题正在取得进展,哪些没有。

6. 问题模板

说到问题,管理错误最令人沮丧的方面之一是当您的用户提交的错误对于开发人员解决问题没有特别帮助时。一般来说,您希望您的用户提供以下信息

  • 对问题的简洁明了的描述性摘要
  • 更详细地描述发生了什么以及为什么它不起作用
  • 预期的结果以及当前结果如何不正确
  • 一组逐步说明,解释开发人员如何重现问题。
  • 用户系统详细信息列表(例如,操作系统、软件版本以及任何其他详细信息)

对于普通用户来说,这需要提供大量信息。为了简化此过程,GitHub 具有 问题模板 功能,您可以在其中使用内容和用户应填写的问​​题预先填写新问题。只需在代码的 .github 目录中创建一个 ISSUE_TEMPLATE.md 文件,并将 Markdown 添加到该文件中,它将显示在新问题的主文本框中。对于拉取请求,您可以使用 PULL_REQUEST_TEMPLATE.md 执行相同的操作。

7. 使用 wiki

创建强大社区最重要的方面之一是确保新的参与者可以学习如何参与。理想情况下,您希望提供有关您的项目的文档,例如

  • 关于如何 fork 代码、开发新功能以及代码审查过程如何工作的逐步教程。
  • 编码标准、约定和要求。
  • 代码的分解、其结构以及不同源文件的作用。
  • 有关项目如何沟通、做出决策等的详细信息。

每个 GitHub 项目都带有一个内置 wiki,它是此类内容的理想场所。更重要的是,每个 wiki 实际上都是一个您可以提交的存储库。这使得在贡献者之间分配负载以维护有关项目以及如何参与的文档变得容易。

8. 构建 GitHub Pages 站点

虽然 wiki 是文档的绝佳场所,但它不是关于您的项目的网站的最佳场所。为此,GitHub 提供了 GitHub Pages——一项用于构建项目网站的免费服务。

GitHub Pages 由 Jekyll 提供支持,Jekyll 是一个静态内容管理系统。这使得构建站点、在存储库中维护它以及迭代和改进它变得简单。

9. 使用 Waffle.io/ZenHub 进行规划

GitHub 目前不包含特别全面的项目管理工具。如果您正在构建一个项目并希望管理目标截止日期并将任务和功能目标分配给这些截止日期,您可能需要一个项目管理系统。幸运的是,有一些很棒的选择,它们都与 GitHub 紧密集成

  • ZenHub 是一个特别全面的项目管理系统,您可以在其中跟踪工作板、任务和 TODO 项目,所有这些都通过问题和其他功能与现有的 GitHub 项目集成。ZenHub 集成得非常好,并添加了 GitHub 中明显缺少的功能层。
  • Waffle 是一个类似 Trello 的平台,允许您管理看板卡片,用于与 GitHub 问题完全集成的任务。

我建议您尝试两者,看看哪一个最适合您。

10. 使用 Travis CI 进行持续集成

持续集成已成为构建现代软件的核心部分。CI 的基本要点(双关语)是开发人员应定期提交到存储库,自动化系统应定期使用生产工具构建代码,并报告构建是失败还是通过。这降低了开发人员开发难以实现并可能引入错误的大型功能的可能性。

Travis CI 为此提供了一个非常简单的解决方案。您只需使用您的 GitHub 帐户登录,告诉 Travis CI 您想要构建什么,您就可以看到报告。您甚至可以将 Travis CI 与 Heroku 和 Slack 集成。

就是这样:10 个 GitHub 技巧,可帮助您让您的新 GitHub 项目取得良好的开端。请务必在评论中告诉我们您自己的技巧和窍门。

User profile image.
Jono Bacon 是一位领先的社区经理、演讲者、作家和播客主持人。他是 Jono Bacon Consulting 的创始人,该公司提供社区战略/执行、开发人员工作流程和其他服务。他还曾担任 GitHub、Canonical、XPRIZE、OpenAdvantage 的社区主管,并为多家组织提供咨询和建议。

1 条评论

当您启动项目时,另一件好事是努力获得 CII 最佳实践徽章,这里是:https://bestpractices.coreinfrastructure.org/
它基本上有一个更长的最佳实践清单,以帮助您的项目取得成功和安全。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© 2025 open-source.net.cn. All rights reserved.