「GitHub」- 代码仓库 | 开源项目的代码仓库

认识

GitHub 是一个非常知名且重要的平台,主要用于软件项目的开发、协作与管理,具有多方面的特点和功能:

定义:GitHub 是一个用于版本控制和协作的代码托管平台,允许开发者和其他人从任何地方共同处理项目。
开发者:由 Chris Wanstrath、P.J.Hyett 和汤姆·普雷斯顿·沃纳使用 Ruby on Rails 编写而成。
所属公司:总部位于加利福尼亚州,自 2018 年以来一直是微软的子公司。

总之,GitHub 在软件开发和协作领域具有极其重要的地位,为开发者提供了一个强大的平台,促进了代码的共享、协作和创新,推动了软件行业的发展。

官网:https://github.com/
文档:https://docs.github.com/en

组成

// ONHD 我们属于 GitHub 用户,针对我们的场景,我们并不需要关心 GitHub 架构组成。

性质

优势特性

开源项目丰富:拥有海量的开源项目,是世界顶级开发者的聚集地,开发者几乎可以找到任何想要的东西,并在遵守 license 的前提下免费使用、下载这些开源项目,这也是其最为吸引人的地方之一。

易于协作:提供了诸如“fork”(分支)、“pull request”(拉取请求)等功能,使得开发者之间可以很方便地进行协作开发,共同为一个项目贡献代码。

界面友好:初期以简洁、直观的用户界面受到开发者欢迎,相比其他代码托管平台,更易于使用和导航。

社交性强:将社交网络的概念引入代码托管平台,用户可以像在社交平台上一样关注其他开发者、关注项目、参与讨论,以及跟踪项目的更新。

影响力与用户群体:截至 2023 年 6 月,GitHub 报告称拥有超过 1 亿名开发者和超过 4.27 亿个代码库,其中至少有 3200 万个公共代码库。其影响力广泛,不仅在软件开发领域,在整个科技行业乃至其他行业都发挥着重要作用,许多企业、组织和个人开发者都在使用 GitHub 来管理他们的项目。

服务业务

GitHub 个人版:用户可以浏览网站上的公共代码库,只有注册用户才能对代码库进行贡献,如进行讨论、管理代码库、提交贡献和审查代码变更等。2019 年 1 月开始提供有限的免费私有代码库,2020 年 4 月 14 日宣布“所有核心功能”对所有人免费开放,包括“无限协作者的私有代码库”。

GitHub 企业版(Enterprise):面向企业和组织,旨在满足企业级的安全性、扩展性和合规性要求。可在组织自己的硬件上或云服务提供商上运行,提供私有部署、安全性和合规性保障、高可用性和可扩展性、企业级支持、协作和团队管理、集成和插件等功能和优势。

功能特性

代码托管:提供了集中式的代码仓库,开发者能将代码存储在上面,方便多个开发者共享、访问和管理。支持 Git 版本控制系统,所有标准的 Git 命令都可运行,用户还可使用多种桌面客户端和 Git 插件操作。


版本控制:具备强大的版本控制功能,可跟踪代码修改历史、进行分支管理和合并请求等,便于团队成员协同工作,管理代码变更和解决冲突。


问题跟踪:使开发团队能记录、跟踪和解决软件项目中的问题和错误,可创建问题、分配给团队成员、进行讨论并跟踪问题状态和解决进度。


部署和持续集成:与 CI 工具(如 GitHub Actions 和 Travis CI)集成,开发者能配置自动化的构建、测试和部署流程,在代码提交或其他事件发生时自动执行。


代码审查:允许开发团队对代码进行审查和讨论,开发者可在代码提交前请求同事审查,确保代码质量和遵循最佳实践。


社交网络:是开发者社交网络,开发者可关注其他用户、浏览和发现其他开源项目,参与开源社区讨论,交流和分享经验。

文档和 wiki:开发者可创建和维护项目的文档和 wiki 页面,记录项目特性、使用说明、贡献指南等,使项目更易于理解和参与。

GitHub Gist,它是 GitHub 提供的一种便捷的代码片段分享工具。用户可以创建简短的代码片段并分享给他人,也可以将其嵌入到网页或其他文档中。它支持多种编程语言,方便开发者快速分享和交流代码片段、配置文件等小的文本内容。

GitHub Pages | Instantly share code, notes, and snippets. | 自 2008 年以来,允许用户轻松创建和托管静态网站,是免费服务,可将 GitHub 仓库中的代码自动转换成网页,并通过特定域名访问。与 Jekyll 静态网站和博客生成器以及 GitHub 的持续集成流水线进行了集成。

构建

现阶段由开发人员自行管理,运维协助处理相关问题即可,不需要主动运维。

获取 GitHub 服务 | 注册 GitHub 帐号

服务注册 | Join GitHub | https://github.com/signup

应用

场景 | 方案 | Scenarios | Applications

场景 | 获得项目更新的通知

当开源软件更新时,第一时间获得通知。

场景 | 监控个人仓库的信息

Prometheus GitHub Exporter | https://github.com/githubexporter/github-exporter/tree/master
Exposes basic metrics for your repositories from the GitHub API, to a Prometheus compatible endpoint.

场景 | 代码拉取

通过 Git CLI 拉取代码,需要创建 Personal Token 凭证,而不能直接使用密码。

Creating a fine-grained personal access token
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token

参考

豆包 | 介绍 GitHub 网站