GitHub 教程

2025年3月17日 | 阅读18分钟
GitHub Tutorial

GitHub 是一个巨大的代码托管平台。它支持版本控制和协作。

这是一家美国公司。它以不同编程语言的形式托管您项目的源代码,并跟踪程序员所做的各种更改。

在本教程中,我们将学习 GitHub 的基本知识,如仓库、分支、提交、拉取请求等。此外,我们将学习如何使用 GitHub,并在上面创建我们的第一个项目。

有关 Git 和 GitHub 的进阶内容,请访问我们最新的 Git 教程,点击 此处

在本教程中,我们将涵盖以下主题


什么是 GitHub?

GitHub 是一个巨大的代码托管平台,支持版本控制和协作,并允许开发人员共同处理项目。它提供了 Git 的分布式版本控制和源代码管理 (SCM) 功能。它还促进了针对每个项目的错误跟踪、功能请求、任务管理等协作功能。

GitHub 的基本组成部分是

  • 仓库 (Repositories)
  • 分支
  • 提交 (Commits)
  • 拉取请求 (Pull Requests)
  • Git (GitHub 基于的版本控制工具)

GitHub 的优势

GitHub 可以分为 Git 和 Hub。GitHub 服务包括访问控制以及任务管理、仓库托管和团队管理等协作功能。

  • GitHub 的主要优势如下。
  • 通过 GitHub 轻松为开源项目做出贡献。
  • 它有助于创建出色的文档。
  • 您可以展示您的工作来吸引招聘人员。如果您在 GitHub 上有个人资料,您被招聘的可能性会更高。
  • 它允许您的工作被公众看到。
  • 您可以跨版本跟踪代码的更改。

GitHub 的功能

GitHub 是程序员和设计师共同工作的场所。他们协作、贡献并一起修复错误。它托管了许多开源项目和各种编程语言的代码。

Features of GitHub

它的一些重要功能如下。

  • 协作
  • 集成的问题和错误跟踪
  • 分支的图形化表示
  • Git 仓库托管
  • 项目管理
  • 团队管理
  • 代码托管
  • 跟踪和分配任务
  • 对话

GitHub 与 Git

Git 是一个开源的分布式版本控制系统,任何人都可以免费使用。它旨在快速高效地处理大小项目。它被开发用于协调程序员之间的工作。版本控制允许您在同一个工作空间中与团队成员一起跟踪和协作。

GitHub vs. Git

虽然 GitHub 是一个巨大的代码托管平台,但它支持版本控制和协作。它允许开发人员共同处理项目。

它提供了 Git 的分布式版本控制和源代码管理 (SCM) 功能。它还促进了针对每个项目的错误跟踪、功能请求、任务管理等协作功能。

GitHubGit
它是一个围绕 Git 工具开发的基于云的工具。它是一个分布式版本控制工具,用于管理程序员的源代码历史记录。
它是一项在线服务,用于存储代码并从运行 Git 的计算机推送。Git 工具安装在我们的本地机器上,用于版本控制和与在线 Git 服务交互。
它致力于集中源代码托管。它致力于版本控制和代码共享。
它通过 Web 进行管理。它是一个命令行实用工具。
它提供了名为 GitHub Desktop GUI 的桌面界面。Git 的桌面界面称为 Git GUI。
它具有内置的用户管理功能。它不提供任何用户管理功能。
它有一个用于工具配置的市场。它具有最小的工具配置功能。

GitLab 与 GitHub

GitLab 也是一个 DevOps 工具,与 GitHub 类似。它是一个Git 仓库托管服务。它提供问题跟踪、WikiCI/CD 管道(持续集成和交付的组合实践)。它是开源且免费的,并在 MIT 许可下分发。它在功能上与 GitHub 非常相似。它被认为是团队协作的更好选择。

GitLab vs GitHub

让我们看看 GitLab 和 GitHub 之间的一些关键区别。

GitHubGitLab
它于 2008 年推出。它是一个 Git 仓库托管服务。它于 2011 年作为一个项目推出,作为现有 Git 仓库托管服务的替代品。
公共仓库免费,私有仓库收费。无论是私有仓库还是公共仓库,都是免费的。
它有 Gists(一种共享代码片段的方式)。它没有 Gists。
我们无法将任何文件附加到任何问题。我们可以将任何文件附加到任何问题。
它有一个快速的界面。相比之下,它的界面较慢。
在 GitHub 中,我们可以决定用户对仓库的读写访问权限。在 GitLab 中,我们可以根据用户的角色设置和修改用户权限。
它是最大的仓库托管服务。它包含大约 1 亿多个仓库。它的项目比 GitHub 少。

Bitbucket 与 GitHub

Bitbucket 也是一个由Atlassian拥有的基于 Web 的版本控制系统。它包含源代码并允许我们与开发人员共享。它提供免费账户和商业账户(付费)。它为免费账户提供无限数量的仓库。但它对免费账户有一些限制,例如私有仓库最多只能有五个用户。

Bitbucket 于 2008 年推出,以支持 Mercurial 项目。Atlassian 于 2010 年收购了它,从 2011 年开始也开始支持 Git。

Bitbucket vs GitHub

它与 GitHub 非常相似。然而,没有人可以被认为是最好的。每项服务都有不同的感觉,它们针对不同的受众,无论您在哪里都能获得优质的服务并完成工作。

让我们看看 Bitbucket 和 GitHub 之间的相似之处和区别。

GitHubBitbucket
它拥有用户友好且快速的界面。它拥有时尚而简洁的界面,提供专业的视图。
它仅限于 Git 仓库。它不仅限于 Git,还支持Mercurial等其他版本控制系统,但不支持svn
它提供图形:脉冲、贡献者、提交、代码频率、成员等。它通过 REST API 协助构建第三方应用程序,这些应用程序可用于任何开发语言。
公共仓库免费,私有仓库收费。无论是私有仓库还是公共仓库,都是免费的。但私有仓库最多只能有五个成员。
GitHub 附带许多功能,并允许您创建自己的工作流程。Bitbucket 提供了更多内置的灵活性选项。
我们无法在免费账户上创建私有仓库。我们可以为最多五名用户创建无限的私有仓库。

GitHub 教育

GitHub 教育通过 GitHub 合作伙伴提供对各种开发工具的免费访问。它提供了真实的实践经验。

我们可以在大学期间在 GitHub 上创建一个项目,并向世界展示创意。我们可以与其他公司的公共仓库合作,给他们留下深刻印象。

已经有很多社区与 GitHub 合作。GitHub 为学校组织校园计划。要了解资格和申请方法,请访问 GitHub Schools

学生可以申请 GitHub 学生开发者包。GitHub 学生开发者包提供对专业开发人员使用的工具和服务的免费访问。让我们来了解一下学生开发者包。


什么是 GitHub 学生开发者包?

GitHub 学生开发者包是开始成为一名开发者的最佳资源之一。学生可以申请 GitHub 学生开发者包。它提供了来自 GitHub 合作伙伴的福利。它还为 GitHub pro 账户提供免费访问以及 20 种开发者工具和课程。

GitHub 学生开发者包资格

以下是申请 GitHub 学生开发者的部分资格标准

  • 您必须拥有一个 GitHub 账户。
  • 您目前就读于授予学位或文凭的课程,如高中、中学、大学、学院、在家上学或任何其他教育机构。
  • 您必须拥有学校或学院颁发的有效电子邮件地址或任何可以证明您学生身份的文件。
  • 您必须年满 13 岁。

如何申请 GitHub 学生开发者包?

以下是申请 GitHub 学生开发者包的步骤

第一步:访问 GitHub Education,然后点击右上角的获取福利选项。

GitHub Student Developer Pack

第二步:在获取福利选项下,描述您自己是学生还是教师。

GitHub Student Developer Pack

第三步:添加您的学术电子邮件地址。接下来会提示您提供学术证明。

第四步:上传学术证明。您可以从设备捕获图像而不是上传。

将您有效的学术 ID 或任何其他当前学术身份证明放在框架内,然后点击拍照。

第五步:输入您的详细信息,如姓名,并填写您计划如何使用 GitHub 的描述。

第六步:验证申请详细信息,然后点击提交选项。

如果您的申请获得批准,您将收到一封确认电子邮件通知。它将在几天内处理。


如何使用 GitHub?

这个问题对于从未使用过 GitHub 的开发者来说很常见。本教程将帮助您克服这个问题。不用担心,使用 GitHub 的必要步骤如下

  • 创建 GitHub 账户
  • GitHub 登录
  • GitHub 仓库
  • 创建仓库
  • 创建文件
  • 创建分支

创建 GitHub 账户

探索 GitHub 福利的第一步是创建一个 GitHub 账户。GitHub 为其用户提供免费和专业会员资格。我们可以在其专业账户中探索许多令人兴奋且有用的功能。我们可以探索无限的私有仓库并控制用户访问。

要创建 GitHub 账户,请访问 GitHub

点击右上角的注册选项。

GitHub Student Developer Pack

在注册下填写您的姓名、电子邮件地址和密码等必要详细信息。然后点击下一步:选择套餐选项。

GitHub Student Developer Pack

在上述选项下,您将看到套餐。选择您的套餐,是想成为专业会员,还是想继续使用免费账户。

GitHub Student Developer Pack

选择套餐后,将向您的电子邮件地址发送一封确认链接。通过点击收到的链接激活您的账户,您就可以开始使用 GitHub 了。

GitHub 登录

登录您的 GitHub 账户以使用 GitHub 服务。要登录您的账户,请点击右上角的登录选项。它会要求您提供电子邮件 ID 和密码。您可以通过输入您的凭据来登录。首次登录时,主页会提示您创建您的第一个仓库以及一些其他选项,如浏览仓库。

GitHub 仓库

仓库是 GitHub 用于存储文件和目录元数据的数据结构。它包含文件集合以及对这些文件所做的更改历史记录。通常,仓库被视为项目文件夹。一个项目可以有多个仓库。

创建仓库

我们可以在 GitHub 上创建无限的公共仓库和无限的私有仓库(针对专业用户)。要在 GitHub 上创建仓库,请点击登录屏幕右上角的“+”符号。

GitHub Student Developer Pack

还有一些其他选项可用,如导入仓库、gist、组织和新项目。要创建仓库,请从列表中选择新建仓库选项。首次登录您的账户时,您会看到如下界面

GitHub Student Developer Pack

GitHub 会提示您无需编写代码即可学习 Git 和 GitHub。它会要求您阅读“hello world”指南以供首次使用。此外,您也可以在此处创建仓库(项目)。

点击新建仓库选项,然后填写所需的详细信息,如仓库名称、描述,并选择此仓库的访问权限。您还可以使用 README 文件初始化仓库。填写所有详细信息后,点击创建仓库选项。它将为您创建一个仓库。请看下图

GitHub Student Developer Pack

因此,我们创建了一个公共仓库。

如何创建私有仓库?

我们可以在初始化时将仓库设置为私有,并管理仓库的访问权限。私有仓库功能仅对专业用户可用。专业用户可以创建无限的仓库并为其设置访问权限。

如果我们使用的是 GitHub 免费账户,并希望将仓库的可见性从公共更改为私有,我们将失去对受保护分支和 GitHub Pages 等功能的访问权限。GitHub Pages 网站将从我们的账户中自动删除。

因此,我们已经创建了一个仓库并设置了其访问权限。现在,我们可以创建我们的第一个文件了。让我们创建一个文件。

创建文件

在 GitHub 中,创建文件是一个直接的过程。让我们在新建的仓库中创建一个文件。请看我们仓库的下图

GitHub Student Developer Pack

有不同的选项可用于向仓库添加文件。GitHub 允许我们设计和上传文件。要创建文件,请点击“创建新文件”选项。它将打开一个文件结构,如下所示

GitHub Student Developer Pack

在框中输入文件名,并在编辑器区域键入代码。

页面底部提供了提交选项。请看下图

GitHub Student Developer Pack

在上图中,我们可以在第一个文本区域中输入提交消息,在第二个文本区域中输入描述。此外,我们可以指定是希望将其提交到 master 分支还是创建新分支。

点击“提交新文件”选项。我们已成功将新文件添加到我们的仓库并进行了提交。

我们可以从我们的项目中编辑和删除此文件。有许多可用选项,如编辑、删除、原始、责备和历史记录。请看文件的下图。

GitHub Student Developer Pack

因此,我们已经学会了如何创建文件和提交更改。现在我们将学习如何创建新分支。

如何创建新分支?

分支是指向更改快照的指针。分支是为特定目的创建的,例如修复错误、测试、发布等。要了解分支类型,请访问 Git Flow

将不稳定代码与主代码库合并很复杂,并且还可以帮助您在与主分支合并之前清理未来的历史记录。

master 分支是仓库的默认分支。

让我们了解如何在 GitHub 中创建分支。要创建新的“feature”分支,请在仓库下方拖动分支选项。此选项将列出可用的分支。分支下方提供了搜索选项。如果请求的分支不在仓库中,它将创建一个给定名称的新分支。请看下图

GitHub Student Developer Pack

此外,我们可以在添加文件或进行一些提交时创建分支。它会询问是将更改提交到现有分支还是创建新分支。

要了解有关分支的更多信息,请访问 Git Branch


将 GitHub 连接到您的计算机

GitHub 下载

我们可以将 GitHub 连接到我们的计算机。GitHub 允许下载其桌面应用程序。此外,我们还可以通过 Git 将 GitHub 仓库连接到我们的计算机。

有不同种类的受众,有些人喜欢 Git 命令,有些人喜欢吸引人的用户界面来完成工作。对于喜欢用户界面的人来说,GitHub 桌面应用程序是他们最好的 Git 客户端之一。

让我们看看它的一些特点。

GitHub 桌面版特点

GitHub 的桌面应用程序具有令人难以置信的功能,可以轻松地进行贡献者的协作。它的一些吸引人的功能如下

  • 轻松地将提交归因于协作者。
  • 检出分支并创建 PR(拉取请求)。
  • 广泛的编辑器和 Shell 集成。
  • 开源

让我们看看如何在您的系统上安装它。

适用于 Windows 的 GitHub 桌面版

要设置 GitHub 桌面版,我们必须已经有一个 GitHub 账户。这是贡献到 GitHub 的一种快速直接的方式。它旨在简化 GitHub 的所有流程。

GitHub 桌面版是开源的,可以下载。如果我们谈论它的技术规范,它是用 TypeScript 编写的,并使用 React。它适用于 Microsoft Windows 或 macOS 操作系统。

以下是安装 GitHub 桌面版的步骤

第一步:访问 https://desktop.github.com 获取 GitHub 桌面版。要下载设置,请点击“下载 Windows 版(64 位)”选项。请看下图

GitHub Desktop for windows

第二步:安装

通过运行安装程序文件来安装 GitHub 桌面应用程序。在那里我们可以看到创建账户、登录等选项。但是,我们可以跳过此步骤。它看起来如下

GitHub Desktop for windows

第三步:设置桌面应用程序

安装 GitHub 后的下一步是自定义它。但是,我们可以跳过此步骤。登录您的 GitHub 账户。配置将如下所示

GitHub Desktop for windows

现在我们已准备好使用 GitHub 的桌面应用程序。GitHub 桌面版的界面将如下所示

GitHub Desktop for windows

我们可以使用 GitHub 桌面版创建、克隆或上传仓库到我们的项目。它还会列出您现有的 GitHub 仓库。


如何将 GitHub 仓库克隆(复制)到我们的 PC

复制 GitHub 项目有很多方法。我们可以将 GitHub 项目复制到本地机器。要做到这一点,我们可以使用 GitHub 桌面应用程序或 Git Bash。既然我们在这里讨论 GitHub,那么让我们看看如何通过 GitHub 桌面应用程序进行复制。

要通过 GitHub 桌面应用程序进行复制,请按照以下步骤操作

第一步:打开 GitHub 桌面版

打开应用程序,如果您尚未登录,请使用您的账户凭据登录应用程序。选择“从互联网克隆仓库”选项。请看下图

How to clone GitHub repository to our PC

第二步:选择仓库

选择克隆选项后,它将列出您 GitHub 账户中所有可用的仓库。请看以下输出

How to clone GitHub repository to our PC

第三步:克隆仓库

选择您想要克隆的目录,然后点击克隆选项。它将开始复制项目。请看下图

How to clone GitHub repository to our PC

复制项目需要一些时间。

要通过 Git Bash 克隆仓库,请运行如下克隆命令


如何从 GitHub 拉取

我们需要从 GitHub 拉取数据,以使本地仓库与 GitHub 仓库保持同步。假设任何团队成员为我们的项目进行了更改或提出了更改。如果您想与您的本地目录合并,请执行拉取操作。

我们可以通过 GitHub 桌面版和 Git Bash 拉取 GitHub 项目的更新。要通过 GitHub 桌面版拉取更改,请导航到仓库菜单,然后选择拉取选项。

pull from GitHub

它将拉取 GitHub 仓库。

要通过 Git Bash 拉取仓库,请运行以下命令


什么是 GitHub 拉取请求?

拉取请求是一个流程,开发人员通过该流程通知团队成员他们已完成某个功能。一旦他们的功能分支准备就绪,开发人员就会通过其远程服务器账户提交一个拉取请求。拉取请求会通知所有团队成员,他们需要审查代码并将其合并到 master 分支。


如何提交并推送到 GitHub

推送是将本地更改传输到 GitHub 的操作。假设我们对本地仓库进行了一些更改并将其共享到 GitHub。要做到这一点,我们可以推送更改。

我们可以从 GitHub 桌面应用程序和 Git Bash 提交更改。要从 GitHub 桌面应用程序提交更改,请按照以下步骤操作

第一步:打开文件浏览器

从 GitHub 桌面版打开文件浏览器。要打开文件浏览器,可以同时按“Ctrl + Shift + F”键,或者从菜单中选择。

第二步:进行更改

现在,您将在文件浏览器中进行所需的更改。在我们的例子中,我们创建了一个文件 new_file.txt

第三步:提交更改

为了在 GitHub 上共享,必须提交更改。要提交更改,请打开 GitHub 桌面版;在这里,我们可以看到我们所做的更改。请看下图

push to GitHub

要提交更改,请输入提交消息和描述。然后,单击上图中显示的提交选项。现在,您已成功提交。下一步是将其推送到 GitHub 账户。

第四步:将更改推送到 GitHub 账户

我们所做的更改现在已准备好推送到 GitHub 账户。GitHub 桌面应用程序开始显示通知,例如提交已准备好推送。请看下图

push to GitHub

我们可以使用“Ctrl + P”键或“push origin”选项将更改推送到 GitHub 仓库。

现在,我们在 GitHub 仓库中有了这些更改。

要通过 Git Bash 推送更改,请运行以下命令


GitHub Fork(分支)

Fork 是仓库的粗略副本。Forking 一个仓库允许您在不影响原始项目的情况下自由测试和调试更改。Forking 的一个过度使用是提出修复错误的更改。要解决您发现的错误问题,您可以

  • Fork 仓库。
  • 进行修复。
  • 向项目所有者转发一个 pull request。

何时使用 Git Fork

通常,Forking 一个仓库允许我们在不影响原始项目的情况下进行实验。以下是 Forking 仓库的原因

  • 提出对他人项目的更改。
  • 使用现有项目作为起点。

如何 Fork 一个仓库?

Forking 和 branching 是为开源项目做出贡献的绝佳方式。Git 的这两个特性允许在项目上进行增强的协作。

Forking 是一种安全的贡献方式。它允许我们创建项目的粗略副本。我们可以自由地在项目上进行实验。在项目最终版本完成后,我们可以创建一个拉取请求以进行合并。

这是一个直接的过程。Forking 仓库的步骤如下

  • 登录 GitHub 账户。
  • 找到您想 Fork 的 GitHub 仓库。
  • 点击仓库页面右上角的 Fork 按钮。

我们无法 Fork 自己的仓库。只能 Fork 共享的仓库。


GitHub Pages 网站

我们可以使用 GitHub Pages 来托管网站。它可以直接从 GitHub 仓库进行管理。通常,GitHub Pages 是静态网站托管服务。它直接从仓库获取 HTML、CSS、JavaScript 文件,并通过预定义的构建过程运行文件,然后创建网站。

GitHub Pages 可用于所有账户,如免费、专业、云、云服务器和企业账户。Pages 的域名是 pages.github.com

GitHub Pages 网站类型

GitHub Pages 网站有三种类型,它们如下

项目 (Project):这些网站与 GitHub 上的特定项目相关联,例如 JavaScript 库或 Java 框架。

用户 (User):用户网站与特定用户账户相关。除非您使用自定义域,否则这些网站将从名为 < user>.github.io 的仓库发布。

组织 (Organization):组织网站与特定组织相关。除非您使用自定义域,否则这些网站将从名为 <organization>.github.io 的仓库发布。


GitHub Gists

Gists 用于与他人共享文件和完整应用程序。不能通过 gists 共享目录。我们可以通过 http(s)://[hostname]/gisthttp(s)://gist.[hostname](如果启用了子域)访问我们的 gists。

Gists 就像一个仓库,因此它可以被 Fork 和克隆。

有两种类型的 gists

  • 公共 gists
  • 私密 gists

如何创建 gist?

我们可以创建公共和私密两种类型的 gist。要与世界分享想法,请创建公共 gist。

要创建 gist,请访问 GitHub gist。点击右上角的“+”图标。请看下图

GitHub Gists

点击创建 gist 图标后,填写所需的 gist 名称、描述和访问权限。请看下图

GitHub Gists

在各自的区域中提供 gist 描述、名称和代码。之后,选择您想要创建 gist 的方式。创建 gist 有两个选项,一个是“创建私密 gist”,另一个是“创建公共 gist”。请看下图

GitHub Gists

因此,我们已经创建了我们的第一个 gist。此外,我们还可以在 GitHub 上探索公共 gist。

GitHub Markdown

Markdown 是一种在 GitHub 上使文本具有可读性和风格的技术。我们可以管理 Web 上的文本样式。我们还可以设置单词的格式,如粗体或斜体。我们还可以添加图像并通过 GitHub markdown 创建列表。

可以使用 markdown 的地方;

  • Gists
  • Issues 和 Pull Requests 中的评论
  • 扩展名为 .md 或 .markdown 的文件

前提条件

GitHub 不是一门编程语言,所以您不必太担心基本知识。您应该熟悉现代工具。

目标受众

我们的 GitHub 教程旨在帮助初学者和专业人士。

问题

我们向您保证,您不会在此 GitHub 教程中遇到任何问题。但如果有任何错误或疏忽,请通过联系表格提交错误。