Git 术语

17 Mar 2025 | 6 分钟阅读

Git 是一种工具,涵盖了大量的术语和行话,这对于新用户,或者那些了解 Git 基础知识但想成为 Git 大师的人来说,通常会很困难。因此,我们需要对工具背后的术语进行一些解释。 让我们看看常用的术语。

一些常用的术语是

Branch

分支是存储库的一个版本,它与主工作项目不同。 它是大多数现代版本控制系统中可用的重要功能。 一个 Git 项目可以有多个分支。 我们可以对 Git 分支执行许多操作,例如重命名、列出、删除等。

检出 (Checkout)

在 Git 中,术语检出用于在目标实体的不同版本之间切换的行为。 git checkout 命令用于在存储库中的分支之间切换。

挑选提交 (Cherry-Picking)

Git 中的挑选提交是指将一个分支的一些提交应用到另一个分支中。 如果您犯了一个错误并将更改提交到了错误的分支中,但不想合并整个分支,您可以在另一个分支上还原提交并挑选提交。

克隆 (Clone)

git clone 是一个 Git 命令行实用程序。 它用于制作目标存储库的副本或克隆它。 如果我想从 GitHub 获取我的存储库的本地副本,此工具允许从存储库 URL 在您的本地目录中创建该存储库的本地副本。

取指令

它用于从一个或多个其他存储库获取分支和标签,以及完成其历史记录所需的对象。 它更新远程跟踪分支。

HEAD

HEAD 是当前检出分支中最后一次提交的表示。 我们可以将 head 视为当前分支。 当您使用 git checkout 切换分支时,HEAD 修订版本会更改,并指向新分支。

索引

Git 索引是工作目录和存储库之间的暂存区域。 它用作索引来构建您想要一起提交的一组更改。

Master

Master 是 Git 分支的命名约定。 它是 Git 的默认分支。 从远程服务器克隆项目后,生成的本地存储库仅包含一个本地分支。 此分支称为“master”分支。 这意味着“master”是存储库的“默认”分支。

合并

合并是将派生的历史记录重新组合在一起的过程。 git merge 命令有助于您获取 git branch 创建的数据并将其集成到单个分支中。

起源

在 Git 中,“origin”是指最初克隆项目的远程存储库。 更准确地说,它用于代替原始存储库 URL,以使引用更加容易。

拉取/拉取请求 (Pull/Pull Request)

术语拉取用于从 GitHub 接收数据。 它将远程服务器上的更改获取并合并到您的工作目录中。 git pull command 命令用于执行 Git 拉取。

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

Push

推送术语是指将本地存储库内容上传到远程存储库。 推送是将提交从您的本地存储库传输到远程存储库的行为。 推送能够覆盖更改; 推送时应小心。

变基 (Rebase)

在 Git 中,术语变基是指将一系列提交移动或组合到新的基本提交的过程。 变基非常有益,并且可以在功能分支工作流程的环境中可视化该过程。

从内容感知来看,变基是一种将分支的基础从一个提交更改为另一个提交的技术。

Remote

在 Git 中,术语 remote 与远程存储库有关。 它是所有团队成员用来交换其更改的共享存储库。 远程存储库存储在代码托管服务上,例如内部服务器、GitHub、Subversion 等。

对于本地存储库,远程通常不提供项目当前状态的文件树,而是仅包含 .git 版本控制数据。

存储库

在 Git 中,存储库类似于 VCS 使用的数据结构,用于存储一组文件和目录的元数据。 它包含文件集合以及对这些文件所做更改的历史记录。 Git 中的存储库被视为您的项目文件夹。 存储库具有所有项目相关数据。 不同的项目有不同的存储库。

暂存 (Stashing)

有时您想切换分支,但您正在处理当前项目的不完整部分。 您不想提交半成品。 Git 暂存允许您这样做。 git stash command 命令使您可以在不提交当前分支的情况下切换分支。

标签

标签 (Tags) 将某个点标记为 Git 历史中的特定点。 它用于将提交阶段标记为重要。 我们可以标记提交以供将来参考。 主要用于标记项目的初始点,例如 v1.1。 有两种类型的标签。

  1. 轻量级标签
  2. 带注释的标签

上游和下游 (Upstream And Downstream)

术语上游和下游是对存储库的引用。 通常,上游是您从中克隆存储库的位置(origin),而下游是将您的工作与其他工作集成的任何项目。 但是,这些术语不限于 Git 存储库。

Git Revert

在 Git 中,术语 revert 用于还原某些提交。 要还原提交,请使用 git revert 命令。 它是撤消类型命令。 但是,它不是传统的撤消替代方法。

Git Reset

在 Git 中,术语 reset 代表撤消更改。 git reset 命令用于重置更改。 git reset 命令有三种核心调用形式。 这些形式如下。

  • Mixed

Git Ignore

在 Git 中,术语 ignore 用于指定 Git 应忽略的故意未跟踪的文件。 它不影响 Git 已经跟踪的文件。

Git Diff

Git diff 是一个命令行实用程序。 它是一个多用途的 Git 命令。 执行时,它会在 Git 数据源上运行 diff 函数。 这些数据源可以是文件、分支、提交等。 它用于显示提交、提交和工作树之间的更改等。

Git 速查表

Git 速查表是 Git 快速参考的摘要。 它包含带有快速安装的基本 Git 命令。 速查表或备忘单是一组简短的注释,用于快速参考。 速查表之所以这样命名,是因为人们可能会在没有事先了解的情况下使用它。

Git Flow

GitFlow 是由 Vincent Driessen 开发的 Git 的分支模型。 它组织良好,可以协作和扩展开发团队。 Git flow 是一组 Git 命令。 它仅使用单个命令即可完成许多存储库操作。

Git Squash

在 Git 中,术语 squash 用于将之前的提交压缩为一个。 Git squash 是一种极好的技术,可以在将特定更改转发给其他人之前对其进行分组。 您可以使用强大的交互式变基命令将多个提交合并为单个提交。

Git Rm

在 Git 中,术语 rm 代表 remove(移除)。 它用于删除单个文件或文件集合。 git rm 的关键功能是从 Git 索引中删除跟踪的文件。 此外,它还可用于从工作目录和暂存索引中删除文件。

Git Fork

Fork 是存储库的粗略副本。 Fork 存储库允许您自由地测试和调试更改,而不会影响原始项目。

使用 Fork 来建议错误修复的更改非常有用。 要解决您发现的错误的issue,您可以

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

下一个主题Git 命令