<div id="module-unit-notification-container" hidden=""></div> <p>版本控制系统 (VCS) 是跟踪文件集合更改的程序或程序集。 VCS 的一个目标是轻松撤回单个文件的较早版本或整个项目。 另一个目标是支持多个团队成员同时处理同一个项目(甚至是相同的文件),而不会影响各自的工作。</p>
讯享网
VCS 的另一个名称是软件配置管理 (SCM) 系统。 这两个术语通常可以互换使用,实际上,Git 的官方文档位于 git-scm.com。 从技术上讲,版本控制只是 SCM 中涉及的一种做法。 VCS 可用于除软件之外的项目(包括书籍和联机教程)。
你可以使用 VCS 执行以下操作:
- 查看对项目所做的所有更改、更改时间和更改者。
- 为每条更改添加一条消息,解释更改原因。
- 检索整个项目或单个文件的以前版本。
- 创建“分支”,可在其中进行试验性的更改。 通过此功能,可同时(由不同的人)处理多个不同的更改集(例如,功能或 bug 修复),而不会影响主分支。 稍后,可以将所需更改合并到主分支。
- 将标记附加到版本 - 例如,用于标记新版本。
Git 是一种快速、通用、高度可缩放的免费开源 VCS。 它的主要作者是 Linux 的创建者 Linus Torvalds。
较早的 VCS 实例(包括 CVS,Subversion (SVN) 和 Perforce)使用集中式服务器来存储项目的历史记录。 这种集中意味着一台服务器也可能是单一故障点。
Git 是分布式的,这意味着项目的完整历史记录存储在客户端和服务器上。 可以在没有网络连接的情况下编辑文件、在本地签入文件,并在连接可用时与服务器同步。 如果服务器出现故障,你仍拥有该项目的本地副本。 从技术上讲,你甚至不必拥有服务器。 更改可以通过电子邮件传递或使用可移动媒体共享,但实际上没有人这样使用 Git。
要了解 Git,必须了解相关术语。 以下是 Git 用户常用的术语的简短列表。 目前不必关注各术语的详细解释;在完成本模块中的练习的过程中,你会逐渐熟悉所有的术语。
- 工作树:包含正在处理的项目的嵌套目录和文件集。
- 存储库 (repo):位于工作树的顶级的目录,Git 在其中保留了项目所有的历史记录和元数据。 存储库 (Repository) 一般称为 repo。 “空存储库”不属于工作树;它用于共享或备份。 空存储库通常是名称以 .git 结尾的目录,例如 project.git。
- 哈希:哈希函数生成的数字,它将文件或其他对象的内容表示为固定位数。 Git 使用 160 位长度的哈希。 使用哈希的一个好处是,Git 可以通过对文件内容进行哈希处理并将结果与先前的哈希进行比较,从而判断文件是否已更改。 如果文件的时间日期戳已更改,但文件哈希未更改,则 Git 知道文件内容未更改。
- 对象:一个 Git 存储库包含四种类型的“对象”,每种对象均由 SHA-1 哈希进行唯一标识。 blob 对象包含普通文件。 “树”对象表示目录;它包含名称、哈希和权限。 “提交”对象表示工作树的特定版本。 “标记”是附加到提交的名称。
- 提交:用作动词时,“提交”的意思是生成提交对象。 此操作的名称来自对数据库的提交。 它的意思是你正在提交所做的更改,让其他人最终也可以看到它们。
- 分支:分支是一系列已命名的关联提交。 分支上的最新提交称为“头”。 初始化存储库时创建的默认分支称为 ,在 Git 中通常名为 。 当前分支的头称为“”。 分支是 Git 的一项非常有用的功能,因为通过它,开发人员可在分支中独立(或协同)工作,然后将其更改合并到默认分支中。
- 远程库:远程库是对另一个 Git 存储库的已命名引用。 创建存储库时,Git 会创建一个名为“”的远程库,这是用于推送和拉取操作的默认远程库。
- 命令、子命令和选项:Git 操作通过 和 等命令执行。 是命令, 或 是子命令。 子命令指定需要 Git 执行的操作。 命令通常带有选项,这些选项使用连字符 (-) 或双连字符 (--)。 例如 。

你很快就会熟悉以上术语(例如“”和“”)。 但是你需要从某个部分开始学习,完成本模块后,再回顾此术语表可能对你有所帮助。
有一系列可用于 Git 的不同 GUI,包括 GitHub Desktop。 许多程序编辑器(如 Microsoft Visual Studio Code)也具有与 Git 的接口。 它们的工作方式各异,局限性也各不相同。 它们都不能实现 Git 的所有功能。
本模块中的练习使用 Git 命令行 - 具体来说,是在 Azure Cloud Shell 中执行的 Git 命令。 但是,无论使用哪种操作系统,Git 的命令行接口的工作方式都相同。 另外,借助该命令行,可以利用 Git 的全部功能。 仅通过 GUI 查看 Git 的开发人员有时会遇到无法解决的错误消息,因此他们必须使用命令行才能解决问题。
使用 Git 时,你可能想知道它提供的功能与 GitHub 上提供的功能之间的区别。
如前文所述,Git 是一种分布式版本控制系统 (DVCS),多名开发人员和其他参与者可通过它共同处理同一项目。 它提供了一种方法来处理一个或多个本地分支,然后将它们推送到远程存储库。
GitHub 是一种将 Git 用作其核心技术的云平台。 GitHub 简化了协作处理项目的过程,提供了网站、更多命令行工具,以及可使开发人员和用户一起工作的总体流程。 GitHub 充当先前提到的远程存储库。
GitHub 提供的主要功能包括:
- 问题
- 讨论
- 拉取请求
- 通知
- 标签
- 操作
- 前叉
- 项目
若要详细了解 GitHub,请参阅 GitHub 简介、Microsoft Learn 模块或 GitHub 入门帮助文档。
下一步是你亲自试用 Git!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/139999.html