章节 ▾ 第二版

1.6 入门 - 首次 Git 设置

首次 Git 设置

现在你的系统上已经安装了 Git,接下来你需要做一些事情来定制你的 Git 环境。这些事情在你使用的计算机上只需要做一次;它们会在升级后保留。你也可以随时再次运行这些命令来更改它们。

Git 自带一个名为 git config 的工具,用于获取和设置配置变量,这些变量控制 Git 的外观和操作的各个方面。这些变量可以存储在三个不同的位置:

  1. [path]/etc/gitconfig 文件:包含应用于系统上每个用户及其所有仓库的值。如果将 --system 选项传递给 git config,它会专门从此文件读取和写入。因为这是一个系统配置文件,所以你需要管理员或超级用户权限才能对其进行更改。

  2. ~/.gitconfig~/.config/git/config 文件:特定于你(用户)个人的值。你可以通过传递 --global 选项来让 Git 专门读取和写入此文件,这会影响你在系统上使用的所有仓库。

  3. config 文件位于 Git 目录(即您当前使用的仓库的 .git/config)中:特定于该单个仓库。 您可以使用 --local 选项强制 Git 从此文件读取和写入,但这实际上是默认行为。 毫不奇怪,您需要位于 Git 仓库中的某个位置,此选项才能正常工作。

每个级别都会覆盖前一个级别中的值,因此 .git/config 中的值会优先于 [path]/etc/gitconfig 中的值。

在 Windows 系统上,Git 在 $HOME 目录(大多数情况下是 C:\Users\$USER)中查找 .gitconfig 文件。 它仍然会查找 [path]/etc/gitconfig,尽管它是相对于 MSys 根目录的,MSys 根目录是您在 Windows 系统上运行安装程序时决定安装 Git 的位置。 如果您使用的是 Windows 版 Git 2.x 或更高版本,则在 Windows XP 上还有一个系统级配置文件位于 C:\Documents and Settings\All Users\Application Data\Git\config,在 Windows Vista 和更新版本上位于 C:\ProgramData\Git\config。 此配置文件只能由管理员使用 git config -f <file> 进行更改。

您可以使用以下命令查看所有设置及其来源

$ git config --list --show-origin

您的身份

安装 Git 后,您应该做的第一件事是设置您的用户名和电子邮件地址。 这很重要,因为每个 Git 提交都会使用此信息,并且它会被永久地烘焙到您开始创建的提交中

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

同样,如果您传递 --global 选项,则只需执行一次此操作,因为 Git 始终会在该系统上为您的用户使用该信息。 如果要为特定项目使用不同的名称或电子邮件地址覆盖此设置,则可以在该项目中运行不带 --global 选项的命令。

许多 GUI 工具会在您首次运行时帮助您完成此操作。

您的编辑器

现在您的身份已设置好,您可以配置 Git 需要您键入消息时将使用的默认文本编辑器。 如果未配置,Git 将使用您系统的默认编辑器。

如果要使用其他文本编辑器,例如 Emacs,您可以执行以下操作

$ git config --global core.editor emacs

在 Windows 系统上,如果要使用其他文本编辑器,则必须指定其可执行文件的完整路径。 这可能会因编辑器的打包方式而异。

对于流行的编程编辑器 Notepad++,您可能希望使用 32 位版本,因为在撰写本文时,64 位版本不支持所有插件。 如果您使用的是 32 位 Windows 系统,或者在 64 位系统上使用 64 位编辑器,则您需要输入如下内容

$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
注意

Vim、Emacs 和 Notepad++ 是常用的文本编辑器,通常由 Linux 和 macOS 等基于 Unix 的系统或 Windows 系统上的开发人员使用。 如果您使用的是其他编辑器或 32 位版本,请在git config core.editor 命令中查找有关如何使用 Git 设置您喜欢的编辑器的特定说明。

警告

如果您不这样设置编辑器,您可能会发现当 Git 尝试启动它时,您会陷入非常混乱的状态。 在 Windows 系统上的一个例子可能包括在 Git 启动的编辑期间过早终止 Git 操作。

您的默认分支名称

默认情况下,当您使用 git init 创建新仓库时,Git 将创建一个名为 *master* 的分支。 从 Git 2.28 版本开始,您可以为初始分支设置不同的名称。

要将 *main* 设置为默认分支名称,请执行以下操作

$ git config --global init.defaultBranch main

检查您的设置

如果要检查您的配置设置,可以使用 git config --list 命令列出 Git 在该点可以找到的所有设置

$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...

您可能会多次看到相同的键,因为 Git 从不同的文件(例如,[path]/etc/gitconfig~/.gitconfig)读取相同的键。 在这种情况下,Git 使用它看到的每个唯一键的最后一个值。

您还可以通过键入 git config <key> 来检查 Git 认为特定键的值是什么

$ git config user.name
John Doe
注意

由于 Git 可能会从多个文件中读取相同的配置变量值,因此您可能会发现其中一个值的值是您意料之外的,并且您不知道为什么。 在这种情况下,您可以查询 Git 关于该值的来源,它会告诉您哪个配置文件在设置该值时具有最终决定权

$ git config --show-origin rerere.autoUpdate
file:/home/johndoe/.gitconfig	false
scroll-to-top