GitHub 简介

已完成

GitHub 是世界上最大的开源社区。 Microsoft拥有 GitHub。 GitHub 是一个受你工作方式启发的开发平台。

你可以托管和查看代码、管理项目,并与 4000 万开发人员一起构建从开源到商业应用的软件。

GitHub 是一种 Git 存储库托管服务,可添加许多功能。

虽然 Git 是命令行工具,但 GitHub 提供了基于 Web 的图形界面。

它还提供访问控制和多个协作功能,例如 Wiki 和每个项目的基本任务管理工具。

那么,使用 GitHub 的主要优势是什么? 几乎每个开源项目都使用 GitHub 来管理其项目。

如果你的项目是开源的,并且包含 Wiki 和问题跟踪器,则使用 GitHub 是免费的,因此可以轻松获取更深入的文档并获取有关项目的反馈。

GitHub 提供的一些功能有哪些?

  • 自动化从代码到云端的流程:通过使用 GitHub Packages 和内置的 CI/CD,通过 GitHub Actions 更快地迭代生产代码并简化工作流程。

    • 在管理代码的同一位置,按照你的需求灵活构建、测试、部署和运行 CI/CD 工作流。 从任何 GitHub 事件中触发操作至任何可用的 API。 用您选择的语言构建自动化操作,或从社区创建的数千个工作流和自动化操作中进行选择。
    • 家庭包及其代码:使用操作将新的软件包版本自动发布到 GitHub Packages。 在 CI/CD 工作流中安装托管在 GitHub Packages 或首选包注册表上的包和映像。 它对于开放源代码始终免费,Actions 内的数据传输对所有人都无限制。
  • 共同保护软件:GitHub 在保护世界代码方面发挥着重要作用,即开发人员、维护者、研究人员和安全团队。 在 GitHub 上,世界各地的开发团队能够携手合作,确保全球软件供应链的安全,从派生项目到最终完成。

    • 获取有关代码中漏洞的警报:GitHub 会持续扫描常见语言的安全公告。 此外,它还会向受影响存储库的维护人员发送安全警报,其中包含详细信息,以便他们可以修正风险。
    • 自动更新漏洞:GitHub 监视项目依赖项,并自动打开拉取请求,以将依赖项更新到解决已知漏洞的最低版本。
    • 随时了解 CVE:随时了解最新的常见漏洞和披露 (CVE),并通过 GitHub 咨询数据库了解它们如何影响你。
    • 查找其他工具错过的漏洞:CodeQL 是行业领先的语义代码分析引擎。 GitHub 的革命性方法将代码视为数据,以更快地识别安全漏洞。
    • 消除变体:永远不要犯相同的错误两次。 主动漏洞扫描可防止漏洞到达生产环境。
    • 确保令牌安全:意外将令牌提交到公共存储库? GitHub 可以帮助你。 通过 20 个服务提供商的支持,GitHub 会采取措施确保安全。
  • 无缝代码评审:代码评审是更好的代码的最可靠路径,也是 GitHub 工作原理的基础。 内置评审工具使代码评审成为团队流程的重要组成部分。

    • 建议更改:更好的代码从拉取请求开始,一个关于更改的生活对话,你可以在其中讨论想法、分配任务、讨论详细信息和进行评审。
    • 请求评审:如果你处于评审的另一端,则可以请求同行的评审以获取所需的详细反馈。
    • 查看差异:当你确切知道哪些更改时,评论会更快进行。 差异比较源代码的版本,并突出显示新的、编辑过的或删除的部分。
    • 上下文中的注释:在代码中的评论线程中进行讨论 - 将评论捆绑到一个评审中,或者回复队列里的其他人来开启对话。
    • 给出明确的反馈:你的队友不应该太努力地思考大拇指表情符号的含义。 指定批注是必需更改还是只是一些建议。
    • 保护分支:仅合并最高质量的代码。 可以将存储库配置为需要状态检查,从而减少人为错误和管理开销。
  • 所有代码和文档都托管在一个位置:GitHub 上托管了数亿个专用、公共和开源存储库。 每个存储库都有工具来帮助托管、版本和发布代码和文档。

    • 协作的代码:存储库将代码保存在一个位置,并帮助团队使用他们喜欢的工具进行协作,即使你使用 Git LFS 处理大型文件也是如此。 可以为个人和组创建或导入任意数量的具有无限专用存储库的项目。
    • 文档与代码一起:使用 GitHub Pages 直接从存储库托管文档。 使用 Jekyll 作为静态站点生成器,并从主分支上的 /docs 文件夹中发布页面。
  • 管理想法:提前协调、保持一致,并使用 GitHub 的项目管理工具完成更多工作。

    • 查看项目的总体概况:了解项目中发生的一切,并选择团队的工作重点。这些项目和任务板位于它们应在的位置:靠近你的代码。
    • 跟踪和分配任务:问题有助于识别、分配和跟踪团队中的任务。 可以打开一个“问题”以跟踪bug、与@mention讨论想法,或开始分配工作。
  • 软件的人类方面:构建软件更在于管理团队和社区,而不是编码。 无论是两人的小团队还是多达 2000 人的大团队,GitHub 都能提供您所需的支持。

    • 管理和发展团队:帮助人员通过 GitHub 团队来组织和管理,提高权限以获得管理角色,并通过嵌套团队精细调整权限。
    • 保留对话:审核工具,例如发出和拉取请求锁定,可帮助你的团队专注于代码。 如果你维护一个开源项目,阻止用户可以减少干扰并确保高效对话。
    • 设置社区准则:设置角色和期望,而无需从头开始。 自定义标准行为准则,为项目创建完美的行为准则。 然后直接从存储库中选择预写许可证。

GitHub 为其平台提供了出色的学习资源。 你可以找到从 git 简介培训到如何将静态页面发布到 GitHub,以及如何在 GitHub 上执行 DevOps 的深入探讨,所有这些都在此处