Module 05 · RStudio & GitHub
Overview of Git/GitHubGit 与 GitHub 概述
在本视频中,您将了解 Git 和 GitHub 的概况。它们是开发者和数据科学家中流行的环境,用于对源代码文件和项目执行版本控制以及与他人协作。
版本控制基础 (Version Control)
在谈论 Git 和 GitHub 之前,您需要对版本控制有一个基本的理解。
- 版本控制系统 (VCS) 允许您跟踪文档的更改。
- 这使您可以轻松地恢复文档的旧版本,以防您操作失误。
- 它还使与他人的协作变得更加容易。
概念示例:购物清单
| 情景 | 流程描述 | 结果 |
|---|---|---|
| 无版本控制 🚫 | 您列出购物清单,让室友确认并添加额外物品。 | 在去购物之前,您将面临大量的混乱需要清理。 |
| 有版本控制 ✅ | 您列出购物清单,让室友确认并添加额外物品。 | 在每个人贡献了他们的想法后,您会确切知道您需要什么。 |
Git:分布式版本控制系统
Git 是一种根据 General Public License (GPL) 发布的分发版免费开源软件。
- 分布式特性:Git 是一个分布式版本控制系统,这意味着世界各地的用户都可以在自己的计算机上拥有您的项目副本。
- 同步与共享:当他们做出更改后,可以将他们的版本同步到远程服务器,从而与您共享。
💡 普及原因:尽管 Git 并非唯一的版本控制系统,但其分布式特性是它成为最常见的版本控制系统之一的主要原因。
版本控制的应用范围
版本控制系统被广泛用于涉及代码的事物,但您也可以对图像、文档和任何类型的文件进行版本控制。
GitHub 与其他 Web 托管服务
- 您可以不使用 Web 界面,而是使用命令行界面 (CLI) 来使用 Git。
- GitHub 是最流行的 Git 存储库 Web 托管服务之一。
其他主流服务包括
- GitLab
- Bitbucket
- Beanstalk
Git 和 GitHub 的基本术语
在开始使用之前,您需要了解一些基本术语:
| 术语 | 定义描述 |
|---|---|
| SSH 协议 | 一种从一台计算机到另一台计算机进行安全远程登录的方法。 |
| 存储库 (Repository) | 包含您的项目文件夹,这些文件夹已设置为版本控制。 |
| 派生 (Fork) | 存储库的副本。 |
| 拉取请求 (Pull Request) | 您请求他人在您的更改成为最终版本之前对其进行审查和批准的方式。 |
| 工作目录 (Working Directory) | 计算机上与 Git 存储库关联的文件和子目录。 |
基本 Git 命令
您将始终使用一些基本的 Git 命令:
| 命令 | 核心功能 | 使用场景 |
|---|---|---|
git clone |
克隆现有存储库。 | 开始一个新的存储库(如果您选择克隆)。 |
git add |
将更改从工作目录移动到暂存区。 | 准备将更改包含到下一个提交中。 |
git status |
查看工作目录的状态和更改的暂存快照。 | 检查当前工作状态。 |
git commit |
接受更改的暂存快照并将其提交到项目。 | 记录项目中的一个永久版本。 |
git reset |
撤销您对工作目录中文件所做的更改。 | 撤销未提交的本地更改。 |
git log |
浏览项目以前的更改。 | 查看项目的历史记录。 |
git branch |
在存储库内创建隔离环境以进行更改。 | 在不影响主线开发的情况下进行实验。 |
git checkout |
查看和更改现有分支。 | 在不同分支之间切换。 |
git merge |
将所有内容重新组合在一起。 | 将一个分支的更改集成到另一个分支。 |
资源与后续学习
要有效使用 Git 并开始与世界各地的数据科学家协作,您需要学习这些基本命令。
幸运的是,GitHub 提供了很棒的资源来帮助您入门:
访问 try.github.io 下载备忘单并运行教程。

在接下来的模块中,我们将为您提供关于设置本地环境和开始一个项目的速成课程。