GitHub 简介

已完成

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

从开放源代码到商业,你可以托管和评审代码,管理项目,并与 4000 万开发人员一起构建软件。

GitHub 是 Git 存储库托管服务,它添加了许多功能。

Git 是一种命令行工具,而 GitHub 提供了基于 Web 的图形界面。

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

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

如果项目是开源的且包含 Wiki 和问题跟踪器,那么可免费使用 GitHub,这样能够轻松获得更深入的文档并获得有关项目的反馈。

GitHub 提供了哪些功能?

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

    • 自动化工作流:在管理代码的同一个位置以所需方式生成、测试、部署和运行 CI/CD。 从任何 GitHub 事件到任何可用 API 触发Actions。 使用所选语言生成 Actions,或从社区创建的数千个工作流和 Actions 中进行选择。
    • 带有代码的家庭包:使用 Actions 将新的包版本自动发布到 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 文件夹发布 Pages。
  • 管理你的想法:使用 GitHub 的项目管理工具尽早协调、保持一致并完成更多工作。

    • 查看项目全貌:查看项目中发生的一切,并选择团队在项目中的工作重点,任务板位于它们所属的位置:靠近代码。
    • 跟踪和分配任务:问题可帮助你识别、分配和跟踪团队中的任务。 可以打开问题来跟踪 bug,与 @mention 讨论想法,或开始分发工作。
  • 软件人性化的一面:生成软件不仅需要管理代码,还需要管理团队和社区。 无论你是 2 人还是 2,000 人的团队,GitHub 都能为你的团队成员提供所需的支持。

    • 管理和发展团队:帮助用户组织 GitHub 团队,升级以访问管理角色,以及微调嵌套团队的权限。
    • 保持对话:审核工具(如问题和拉取请求锁定)可帮助团队专注于代码。 如果维护开放源代码项目,用户阻止可以减少干扰并确保高效对话。
    • 设置社区准则:无需从头开始即可设置角色和期望。 自定义标准行为准则,为项目创建理想的行为准则。 然后,从存储库中选择预编写的许可证。

GitHub 为其平台提供了出色的学习资源。 可以在此处找到从 Git 简介培训到深入了解如何将静态页面发布到 GitHub 以及如何在 GitHub 上执行 DevOps 的所有内容。