概观
Git™是一个跟踪和管理文件更改的系统(版本控制系统)。每当内容发生变化时,Git会记录它并存储每个变化的历史记录。由于Git的复杂功能,它使用了许多新手用户可能无法立即理解的术语。

常见的Git术语
注意:

单击术语以导航到该概念或功能的官方Git文档。
档案
Archives将当前工作树的内容(但不是 .git 目录或未提交的更改)存储在 .zip 或 .tar 文件中。例如,如果您希望提供源下载文件,则可能希望创建存档。


存储库中的每个分支代表一个单独的开发线,所有分支都保留其自己的项目历史记录,工作目录和暂存区域。

每个存储库可以包含您希望创建的分支。
您只能在任何给定时间在一个分支(签出分支)中工作。
通常,分支与原始开发线不同,意图在稍后合并分支的更改。
查看
Git在两种情况下使用这个术语:

当您通过git checkout命令签出分支或提交时,Git将HEAD指向指定的分支或提交。这允许您从命令行在多个分支之间切换。
当您通过git checkout命令签出文件时,Git会从指定的提交或索引中复制该文件的版本。这允许您还原已提交或未提交的更改。
摘樱桃
当你通过git cherry-pick命令挑选更改时,Git将指定的更改从提交和分支应用到不同的分支的HEAD。

克隆
通过git clone命令克隆存储库时,Git执行以下操作:

Git在运行命令的目录中创建一个新的存储库(本地存储库)。

注意:

在cPanel的Git版本控制界面(cPanel >>主页>>文件>> Git版本控制)中克隆存储库时,系统会在您指定的存储库路径目录中创建存储库。

Git将您希望克隆的存储库(远程存储库)设置为origin远程存储库。
Git从远程存储库中获取所有提交和分支。
Git检出默认分支(通常是master分支)。
实际上,这会复制远程存储库。然后,您可以对本地存储库进行更改并将其推送到远程存储库。

承诺
提交是Git历史上的一个重点。Git的存储库的整个历史记录作为单个提交的时间表存在。提交更改时,将在历史记录中创建一个表示索引当前状态的新点。然后HEAD指向新提交。

提交对象
提交对象表示您对分支的已提交修订。每个提交对象都包含提交的文件(树对象),父提交,提交元数据(例如,作者和日期)以及标识对象的SHA-1值。

部署
部署将完成的代码发送到生产中 您可以使用不同的配置自动(推送部署)或手动(拉动部署)部署更改。例如,您可以配置cPanel的 Git版本控制功能(cPanel >>主页>>文件>> Git版本控制),以自动将cPanel管理的存储库接收的更改部署到您网站的目录中。有关更多信息,请阅读我们的Git指南 - 如何设置部署文档。


当您通过git fetch命令获取更改时,Git会自动从远程存储库下载新的更改。但是,它并没有整合(合并),这些改变合并进工作树的任何本地分行。

叉子
分叉存储库时,您将创建该存储库的新服务器端副本。然后,您可以尝试对该存储库进行更改,而不会对原始存储库产生任何影响。


HEAD值表示最近提交或活动分支的SHA-1标识符。每当您提交对活动分支的更改时,Git会自动将HEAD更新为该提交的SHA-1标识符。如果您使用该git checkout命令签出特定提交而不是分支,Git将进入该detached HEAD状态。


头是每个分支的最近提交的SHA-1标识符。虽然只存在一个HEAD提交,但存储库通常包含每个分支的多个头。


挂钩是您可以配置为在特定Git操作之前或之后触发的脚本或其他代码。您可以将这些挂钩存储hooks在存储库目录中的目录中。

注意:

cPanel的Git版本控制功能(cPanel >>主页>>文件>> Git版本控制)自动为cPanel管理的存储库添加一个钩子。 post-receive

索引(暂存区,缓存)
索引包含您添加到Git存储库提交的工作树中的文件。Git还使用索引在失败的合并期间存储数据。

日志
该日志包含当前分支上每次提交的提交哈希和提交元数据,例如提交消息。您可以通过git log命令行上的命令或通过cPanel的 Git版本控制界面(cPanel >> Home >> Files >> Git Version Control )中的 Gitweb 访问此数据。


通常,存储库的默认分支是master分支。当您对其进行更改时,Git会将master分支的HEAD 移动到最新提交的SHA-1标识符。

合并
合并一个或多个提交时,Git会向当前分支添加更改。要执行此类型的合并,请运行该git push命令。

如果特定修订与已经合并到存储库中的更改发生冲突,您可能还需要手动合并它们。

这种类型的合并使用git merge命令。
术语合并也可以指这种类型的合并创建的提交。
起源
原点是Git用于克隆本地存储库的远程存储库的默认名称。大多数存储库包括至少一个源存储库。软件开发通常将原点称为上游。


当您通过git pull命令从远程存储库中提取更改时,Git将获取远程更改,然后将它们合并到当前分支中。

注意:

您可以使用cPanel的Git版本控制界面(cPanel >>主页>>文件>> Git版本控制)中的“ 从远程拉动”功能自动提取存储库活动分支的更改。


当您通过git push命令推送更改时,Git会将提交从您的本地分支发送到远程存储库。

变基
通过git rebase命令重新应用的重新更改将更改为活动分支的历史记录。为此,rebase消除了合并提交,并为原始分支中的每个提交创建了一个新提交。

远程(远程存储库)
远程存储库存在于远程文件系统上。当您获取,提取或推送代码时,Git会向远程存储库发送更改或从远程存储库接收更改。

知识库
存储库存储Git为特定项目管理的所有数据。它包含对象和头部以及工作树。

SHA-1(SHA-1总和,哈希)
从技术上讲,为Git对象生成名称的算法。在Git的白话中,这个术语也指算法生成的40个字符的十六进制字符串。


存储对工作树和索引的更改以供将来重用的对象。存储允许您将更改保留到分支并返回到HEAD状态。然后,您可以重新应用隐藏的更改或将它们应用于其他分支。

版本控制
版本控制系统跟踪文件中的更改,并允许多个用户协调这些更改并查看和操作项目的历史记录。Git是一个版本控制系统。

工作树
工作树包含存储库的签出文件系统。工作树包括HEAD提交的文件以及对这些文件的任何本地更改。Git术语-IDC帮帮忙