跳至内容

理解 GitHub:什么是 GitHub 及其使用方法

了解 GitHub 在数据科学中的用途,这是一款用于版本控制与协作的工具。学习如何管理仓库、分支并高效协作。
更新 2026年8月21日  · 9分钟

用 AI 探索

ChatGPTClaudePerplexity

What is GitHub?

GitHub 标志。来源:GitHub Logos and Usage 

想象一下,您正在进行一个数据科学项目,已取得显著进展。突然出现了一个 bug。您希望能够回到上一个可用版本,但又记不清做过哪些修改。或者您正在与他人协作,合并每个人的输入简直是一场噩梦。如果这些情景听起来很熟悉,您并不孤单。

这些常见问题可以通过 GitHub 来解决——这是领先的版本控制与协作平台。本文将介绍 GitHub 如何改进您管理数据项目的方式。同时,我们还将探讨协作技巧和提升生产力的策略。

让我们先从理解版本控制的基础开始。

什么是版本控制?

版本控制是一种随时间跟踪文件更改的系统。它允许多人共同参与一个项目,并保留修改历史。没有版本控制,管理代码更改会变得杂乱且易出错,尤其是在团队项目中,不同贡献者可能同时修改代码的不同部分。

GitHub 用来做什么?

如您所料,GitHub 是一个在版本控制方面表现出色的多功能平台。但它的用途并不止于此,还包括:

  • 创建项目作品集:GitHub 允许您创建公开的个人主页,向雇主或同事展示您的数据技能和项目。

  • 协作:GitHub 促进与队友在项目上的协作,包括共享代码片段并相互评审工作。

  • 开源贡献:借助 GitHub,您可以探索并参与现有的开源数据科学项目,从而加速学习与创新。

GitHub 如何工作?

要充分理解 GitHub 的优势,必须了解其关键组件以及它们如何协同运作。

  • 仓库(Repository):仓库存放您的项目文件及其版本历史。您可以将其视为数据项目的数字档案柜。每个仓库都有唯一的 URL,包含文件、分支和提交。
  • Fork:Fork 是他人仓库的个人副本。您可以独立修改,之后再将这些更改提议回原始仓库。
  • Pull Request:PR 是向原项目所有者正式提议您的更改,以便评审并合并的方式。它们简化了代码评审与协作。
  • Issue:用于跟踪任务、缺陷或改进。
  • 分支(Branch):分支是仓库的并行版本。您可以创建分支以开发特定功能或修复,准备好后再合并回主分支。可在本教程中了解更多:Git Clone Branch
  • 合并(Merging):合并会将您的更改与原项目的最佳部分结合,保持一切有序且最新。一个常见示例是将功能分支合并到主分支。

Git 与 GitHub

您可能想知道 Git 与 GitHub 有何关系。这两个术语常被交替使用,但两者有关键区别。

Git 是一种分布式版本控制系统(DVCS),帮助开发者管理代码。它会跟踪更改,并允许创建代码的不同版本(即分支),从而便于协作。Git 还支持暂存区和提交历史等特性,提供详细的代码修改记录。

而 GitHub 在此基础上提供了访问控制、缺陷跟踪、任务管理和 Wiki 等额外功能,使开发者更易于协作。通过 GitHub,您可以在同一处管理代码、跟踪更改、审阅贡献并讨论问题。它还可与多种工具和服务集成,强化开发工作流。

类别

Git

GitHub

定义

分布式版本控制系统

基于 Git 构建的网页平台

目的

帮助您管理代码、跟踪更改并创建分支

托管 Git 仓库并提供额外的协作工具

特性

暂存区、提交历史、分支与合并

访问控制、缺陷跟踪、任务管理、Wiki 与集成

收益

实现协作开发并细致跟踪代码更改

强化协作、项目管理与代码评审流程

如何使用 GitHub

到目前为止,我们已经了解了 GitHub 和版本控制是什么,并比较了 Git 与 GitHub。现在,让我们动手实践 GitHub。

首先,我们将学习如何注册 GitHub 账户、个性化体验并选择合适的方案。接着,我们将演示创建仓库的流程,包括初始化、添加描述以及管理可见性。之后,我们会介绍如何创建分支以在不同版本上开展工作,然后进行提交,学习如何编辑文件并记录更改。

注册

以下是注册 GitHub 并开始使用的步骤:

  1. 访问 GitHub 并点击 Sign up 按钮。
  2. 按照提示创建账户。您需要提供电子邮箱、创建用户名并设置密码。
  3. 您可以选择适合自己的方案以个性化体验,也可在设置过程中自定义偏好。对于初学者和初级数据从业者,免费方案已足够。

GitHub Sign Up    注册 GitHub。图片由作者提供

创建仓库

注册完成后,下一步是创建仓库。以下是创建首个仓库的步骤:

  1. 点击右上角的 + 图标,选择 New repository

  2. 输入名称和描述,并选择仓库是公开还是私有。公开仓库对所有人可见;私有仓库仅您和受邀协作者可访问。

  3. 可选地,您可以添加 README 文件、.gitgnore 文件以及许可证。这些也可以稍后添加。

  4. 点击 Create repository

Creating a repository in GitHub

创建仓库。图片由作者提供

完成上述步骤后,您会看到一个快速设置窗口(通常用于新仓库)。您可以从创建新文件开始,或将现有文件上传到新仓库。

GitHub New repository setup

新仓库设置。图片由作者提供

Uploading files in the new GitHub repository

上传文件。图片由作者提供

创建分支

仓库设置完成后,下一步是创建分支。以下是在仓库中创建分支的步骤:

  1. 在仓库中,点击 Branch:main,该选项位于页面顶部附近。

  2. 然后点击右上角的 New branch 按钮。

  3. 输入新的分支名称并点击 Create new branch

  4. 您可以通过点击分支下拉菜单并选择要工作的分支在分支之间切换。

Creating branches in a GitHub repository

创建分支。图片由作者提供

进行提交

创建分支后,下一步是进行提交。以下是提交更改的步骤:

  1. 在仓库中导航到您想编辑的文件。

  2. 点击铅笔图标编辑该文件,并在文本编辑器中进行修改。

  3. 点击 Commit Changes。您可以直接滚动到 Commit changes 区域。请务必添加提交消息,因为它用于描述您所做的更改。

Making commits in a GitHub repository

进行提交。图片由作者提供

创建拉取请求

完成提交后,下一步是创建拉取请求(pull request)。以下是创建拉取请求的步骤:

  1. 进入仓库中的 Pull requests 选项卡。

  2. 点击 New pull request。GitHub 会自动比较分支之间的更改。

  3. 审查更改,确保一切正确,可将您的分支与主分支进行对比。

  4. 点击 Create pull request 创建拉取请求。随后可以为请求添加标题与描述。

  5. 如有需要,添加审阅者并提交。此步骤可选,但如果您希望获得负责人反馈,这将非常重要。

Creating a pull request in a GitHub repository

创建拉取请求。图片由作者提供

合并分支

在拉取请求被审阅并批准后,最后一步是合并分支。以下是合并分支的步骤:

  1. 拉取请求审阅通过后,在 Pull requests 选项卡中打开该请求。
  2. 点击 Merge pull request 按钮。
  3. 点击 Confirm merge 确认合并。

除了使用 GitHub 的图形界面,您还可以使用 Git 完成大多数任务。例如,您可以在本地创建 Git 仓库,并使用 git pull 命令从远程仓库合并更改。随着职业的发展,熟悉这类环境非常重要,DataCamp 的 Introduction to Git 课程将是您学习路上的优秀资源。您也可以从我们的 GitHub and Git Tutorial for Beginners 开始入门。

GitHub 的替代方案

GitHub 是最受欢迎的版本控制与协作平台。然而,也有多种替代方案提供独特的功能与优势。对于有志于进入数据领域的人来说,了解这些可能更契合特定需求的平台非常重要。

我们来看看一些 GitHub 的替代方案。

GitLab

这是一款 DevOps 平台,提供 Git 仓库管理、Issue 跟踪以及 CI/CD 流水线功能。GitLab 以其一体化的 DevOps 方案而闻名,整合了广泛的工具与服务。

GitLab logo

GitLab 标志

主要功能包括:

  • 内置 CI/CD:GitLab 提供用于持续集成与部署的内置流水线,自动化代码测试与部署。
  • Issue 跟踪:通过 GitLab 的 Issue 跟踪系统,您可以使用看板、里程碑与标签来管理任务、缺陷和功能请求。
  • Auto DevOps:该功能可基于项目结构自动配置流水线,节省设置时间。
  • 容器镜像库:GitLab 提供内置容器镜像库以管理 Docker 镜像。
  • 安全功能:集成的安全测试工具便于持续监控,并扫描代码库中的漏洞。

Bitbucket

Bitbucket 是 Atlassian 套件产品,用于管理 Git 仓库,也支持 Mercurial 仓库。它可与 Jira、Trello 等 Atlassian 产品无缝协作。

Bitbucket logo

Bitbucket 标志

主要功能包括:

  • 分支权限:Bitbucket 提供对分支访问与更改的精细化控制,增强安全性。
  • CI/CD 集成:与 Bitbucket Pipelines 集成以实现持续集成与交付,从而自动化测试与部署。
  • Jira 集成:与 Jira 的直接集成支持全面的项目管理,并可跟踪开发进度。
  • 拉取请求:行内评论与拉取请求评审有助于高效的代码评审流程。
  • 部署:通过 Bitbucket Pipelines 支持部署,实现精简的发布流程。

SourceForge

SourceForge 是最早用于托管和管理开源项目的平台之一,向开发者提供广泛工具,包括代码仓库、缺陷跟踪和项目管理功能。

主要功能包括:

  • 项目托管:为开源项目提供免费托管,包括无限带宽和存储。
  • 下载统计:详尽的项目下载统计有助于跟踪项目热度与进展。
  • 讨论论坛:内置论坛促进社区互动与支持。
  • 文件发布系统:高级文件发布系统用于管理项目下载与版本。
  • SVN 与 Git 支持:同时支持 Subversion(SVN)与 Git 版本控制系统。

AWS CodeCommit

AWS CodeCommit 是由 Amazon Web Services 托管的全托管源代码控制服务。它允许您在云端安全地存储和管理代码,并与其他 AWS 服务无缝集成。

主要功能包括:

  • 可扩展性:AWS CodeCommit 可按需扩展以满足仓库需求,无需运维基础设施。
  • 安全性:与 AWS 身份与访问管理(IAM)集成,提供细粒度的访问控制。
  • 集成:可与 CodePipeline、CodeBuild、CodeDeploy 等 AWS 服务协同工作,便于构建完整的 CI/CD 工作流。
  • 高可用性:基于 AWS 基础设施构建,确保仓库的高可用性与耐久性。
  • 加密:数据在传输和静态存储过程中均被加密,增强安全性。

Cursor Origin

Cursor Origin 是来自 Cursor AI 代码编辑器背后团队 Anysphere 的 Git 托管平台。与上面较早的平台不同,它自底向上围绕 AI 辅助开发而构建:它像其他 Git 托管一样管理您的仓库,但将代理生成的提交与拉取请求视为一等公民。您还可以将现有的 GitHub 仓库镜像到 Origin,因此尝试使用它并不意味着放弃当前的工作流。

主要功能包括:

  • AI 代理优先的设计:Cursor 的编码代理可以直接向仓库推送提交、发起拉取请求并进行操作,自然契合代理驱动的开发模式。
  • GitHub 镜像:将现有 GitHub 仓库镜像到 Origin,可循序采用而无需一次性迁移所有内容。
  • 与 Cursor 集成:与 Cursor 编辑器及其云端代理的深度集成,使托管、编辑与代理运行都在同一生态中完成。
  • 标准 Git 工作流:仓库、分支与拉取请求的行为与预期一致,并通过 CLI 完成初始设置。
  • 拉取请求评审:平台内的评审功能可帮助您在合并至主分支前审查 AI 生成的拉取请求。

要通过 CLI 设置并镜像 GitHub 仓库的动手演练,请参阅我们的 Cursor Origin 教程

结语

本文介绍了 GitHub 的基本要点、其重要性及其工作方式。我们从理解版本控制的概念及其在管理代码与数据更改中的意义开始。最后,我们提供了使用 GitHub 的实操指南,包括注册、创建仓库、提交、管理拉取请求以及合并分支。

在数据领域走向成功的关键在于持续学习。若想进一步拓展对 GitHub 及其在数据科学中应用的认识,您可以收听我们的 DataFramed 播客节目 The Future of Programming with Kyle Daigle,从 GitHub 首席运营官的视角了解编程领域的演变;也可以学习 GitHub Concepts,一门涵盖 GitHub 方方面面的综合课程。您还可阅读我们的 GitHub 认证指南,了解其如何助益您的职业发展。

常见问题

GitHub 难学吗?

作为底层技术的 Git 存在一定学习曲线,但 GitHub 提供了用户友好的界面来管理 Git 的功能。

Git 与 GitHub 有何不同?

Git 是一种跟踪文件更改的版本控制系统,而 GitHub 是在线托管 Git 仓库的平台。

在 GitHub 上存放敏感数据安全吗?

GitHub 上的公共仓库对所有人可见。最佳实践是避免在公共仓库中存放敏感数据,如密码或 API 密钥;请改用私有仓库。

使用 GitHub 需要付费吗?

GitHub 提供免费方案,包含不限数量的公共仓库和私有仓库(存储受限)。付费方案提供额外功能,如更大存储和高级协作能力。

GitHub 有哪些替代方案?

GitLab、Bitbucket、SourceForge、AWS CodeCommit

如何在面试中展示我对 GitHub 的了解?

要在面试中有效展示您的 GitHub 专长,建议获取一项 GitHub 认证,它可以验证您的技能、提升简历含金量、增强自信,并展示您对学习的投入。

主题
Git
数据科学

与 DataCamp 一起学习

Courses

GitHub 概念入门

2小时
50.5K
学习如何使用 GitHub 的各种功能、浏览界面并执行日常协作任务。
查看详情Right Arrow
开始课程
查看更多Right Arrow