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