---
title: GitHub 入门介绍
description: 面向初学者介绍 GitHub 的代码托管、版本协作、开源项目和 Git 区别。
toc: false
---

# 何为 GitHub

> GitHub 是一个用于版本控制和协作的代码托管平台。 它允许您和其他人随时随地协同处理项目。
>
> ["官方快速入门"](https://docs.github.com/zh/get-started/quickstart/hello-world#introduction)

*GitHub* 是一个基于 *Git* 的开源代码托管平台，主要用于存储和管理开发项目，提供了多种协作工具以提高协作效率。

GitHub 提供的服务：

<CardGroup cols={2}>
<Card title="代码托管、版本控制">
*GitHub* 可以用来存储整个项目，同时可以记录每次文件的修改，方便查看和回滚。并且提供 *Release* 功能，可以方便地发布项目的版本。
</Card>
<Card title="探索开源项目">
*GitHub* 上有许多优秀的开源项目，在这里可以学习到许多优秀的代码实现，从而提高水平。*GitHub* 同时提供了 *Issue*、*Discussion* 等功能，可以方便地与开源项目的维护者进行交流。
</Card>
<Card title="便捷的协作">
*GitHub* 允许多个开发者在同一个项目上合作开发，每个人都可以轻松地查看、编辑和合并代码。*GitHub* 提供了许多协作工具，例如 *Pull Request*、*Issue*、*Projects* 等，可以方便地进行代码审查、问题跟踪和讨论等工作，从而提高协作效率。
</Card>
<Card title="持续集成（CI/CD）">
*GitHub* 提供了 *Actions* 功能，可以方便地进行持续集成（*Continuous Integration*），持续交付（Continuous Delivery），例如自动化测试、自动化构建等。
</Card>
<Card title="网站托管">
*GitHub* 提供了 *GitHub Pages* 功能，可以方便地将项目的静态网页托管在 *GitHub* 上，从而方便地进行访问和分享。*Wiki* 功能也可以方便地进行指南、文档等的编写和分享。
</Card>
</CardGroup>

很多初学者会混淆 *GitHub* 和 *Git*，误认为 *GitHub* 就是 *Git*。

*GitHub* 是一个在线代码托管平台，而 *Git* 是一个版本控制系统，这两者是完全不同的东西。 

<Card title="Git">
*Git* 是一个开源的分布式版本控制系统。*Git* 最初由 *Linus Torvalds* 开发，用于帮助管理 *Linux* 内核开发，经过多年的发展，*Git* 已经成为目前最常用的分布式版本控制系统。 <br />
类似的系统有 *SVN*、*Mercurial* 等
</Card>

<br />

<Card title="GitHub">
*GitHub* 是一个基于 *Git* 的代码托管云服务平台，用于存储和管理开发项目，能够追踪、记录用户对其代码的修改。 <br />
类似的平台还有 [*GitLab*](https://about.gitlab.com/)、[*BitBucket*](https://bitbucket.org/)、[*Gitee*](https://gitee.com/) 等。
</Card>
