介绍
在这个实验中,你将学习如何查看已配置的 Git 用户邮箱地址。我们将探讨 Git 如何存储和获取这些信息,了解全局配置和本地配置之间的区别。
你将运行命令来显示当前的邮箱设置,明确检查全局配置,并了解在未设置邮箱时 Git 的行为。通过这个实践操作,你将了解 Git 如何关联提交信息,以及如何在不同的仓库中管理你的身份。
在这个实验中,你将学习如何查看已配置的 Git 用户邮箱地址。我们将探讨 Git 如何存储和获取这些信息,了解全局配置和本地配置之间的区别。
你将运行命令来显示当前的邮箱设置,明确检查全局配置,并了解在未设置邮箱时 Git 的行为。通过这个实践操作,你将了解 Git 如何关联提交信息,以及如何在不同的仓库中管理你的身份。
在这一步中,我们将探讨 Git 如何存储你的邮箱地址。Git 使用你的邮箱地址在提交历史中识别你。这对于追踪是谁做出了哪些更改非常重要,尤其是在与他人协作时。
我们之前在设置部分配置了一个全局邮箱地址。让我们看看 Git 是如何获取这些信息的。
打开你的终端并运行以下命令:
git config user.email
你应该会看到全局配置的邮箱地址:
jane.doe@example.com
这个命令告诉 Git 显示 user.email 配置项的值。当你运行 git config 而不指定 --global 或 --local 时,Git 会按特定顺序检查配置:首先是本地(特定于仓库),然后是全局(特定于用户),最后是系统范围。由于到目前为止我们只设置了全局配置,所以它会显示全局值。
了解 Git 如何存储和获取像邮箱这样的配置项,对于自定义你的 Git 环境以及确保你的提交能正确关联到你至关重要。
在这一步中,我们将探讨 Git 全局配置和本地配置之间的区别,特别是针对 user.email 设置。
Git 允许你在不同级别配置设置:
本地配置会覆盖全局配置,而全局配置会覆盖系统配置。
首先,让我们使用 --global 标志显式检查全局邮箱配置:
git config --global user.email
你应该会看到和之前相同的邮箱地址:
jane.doe@example.com
现在,让我们尝试为上一个实验中创建的 my-time-machine 仓库设置一个 本地 邮箱地址。确保你仍然在 ~/project/my-time-machine 目录内。
cd ~/project/my-time-machine
git config user.email "local.user@example.com"
此命令仅为当前仓库(my-time-machine)设置 user.email。注意,这次我们没有使用 --global 标志。
现在,仍然在 my-time-machine 目录内,再次不带任何标志检查 user.email:
git config user.email
你看到了什么?
local.user@example.com
它显示了本地邮箱地址!这表明在这个特定的仓库中,本地配置优先于全局配置。
如果你导航到 my-time-machine 目录之外,再次运行 git config user.email,它将显示全局邮箱地址,因为该仓库之外没有本地配置。
这种设置本地配置的功能非常有用。例如,你可以在个人项目中使用个人邮箱(全局配置),而在与工作相关的项目中使用工作邮箱(这些工作项目仓库的本地配置)。
在这一步中,我们将了解当 Git 在本地级别没有配置 user.email,但在全局级别有配置时会发生什么。这将强化配置优先级的概念。
首先,确保我们位于 my-time-machine 目录中:
cd ~/project/my-time-machine
现在,我们将使用 --unset 标志取消设置本地的 user.email 配置:
git config --unset user.email
此命令会专门从本地仓库配置中移除 user.email 设置,不会影响全局配置。
让我们通过尝试获取本地配置来验证它是否已被移除:
git config --local user.email
你应该会看到一条错误消息,表明在本地级别未找到该配置项:
error: key 'user.email' not found
现在,仍然在 my-time-machine 目录中,再次不带任何标志检查 user.email:
git config user.email
你预计会看到什么?由于本地配置已被取消设置,Git 应该会回退到全局配置。
jane.doe@example.com
正如预期的那样,它现在再次显示全局邮箱地址!这证实了当本地配置不存在时,Git 会使用全局配置。
这一步展示了 Git 配置的层级结构。Git 首先在本地级别查找设置。如果在本地未找到,它会查找全局级别,然后是系统级别。这允许你根据不同项目的需求进行灵活配置。
在这个实验中,我们学习了如何使用 git config user.email 命令检查已配置的 Git 用户邮箱地址。我们探究了 Git 如何获取此信息,其优先级顺序为本地配置、全局配置,最后是系统配置。我们还使用 --global 标志显式检查了全局邮箱配置,了解了全局配置和本地配置级别之间的差异及其优先级。