-
1. 起步
-
2. Git 基础
-
3. Git 分支
-
4. 服务器上的 Git
- 4.1 协议
- 4.2 在服务器上部署 Git
- 4.3 生成 SSH 公钥
- 4.4 架设服务器
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 第三方托管服务
- 4.10 小结
-
5. 分布式 Git
-
A1. 附录 A: Git 在其他环境
- A1.1 图形界面
- A1.2 Visual Studio 中的 Git
- A1.3 Visual Studio Code 中的 Git
- A1.4 IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine 中的 Git
- A1.5 Sublime Text 中的 Git
- A1.6 Bash 中的 Git
- A1.7 Zsh 中的 Git
- A1.8 PowerShell 中的 Git
- A1.9 小结
-
A2. 附录 B: 在应用程序中嵌入 Git
-
A3. 附录 C: Git 命令
1.6 开始 - 首次 Git 配置
首次 Git 配置
现在你的系统上已经安装了 Git,接下来你需要做一些事情来定制你的 Git 环境。这些操作在任何一台电脑上只需执行一次;它们会在升级后继续保留。你也可以随时通过再次运行这些命令来修改它们。
Git 提供一个名为 git config
的工具,它允许你获取和设置配置变量,这些变量控制着 Git 的外观和操作方式的方方面面。这些变量可以存储在三个不同的位置
-
[path]/etc/gitconfig
文件:包含应用于系统上每个用户及其所有仓库的值。如果你向git config
传递--system
选项,它会专门从该文件读取和写入。由于这是一个系统配置文件,你需要管理员或超级用户权限才能对其进行更改。 -
~/.gitconfig
或~/.config/git/config
文件:专门针对你个人(用户)的值。通过传递--global
选项,你可以让 Git 专门从该文件读取和写入,这会影响你系统上所有工作的仓库。 -
你当前正在使用的任何仓库的 Git 目录(即
.git/config
)中的config
文件:仅针对该单个仓库。你可以使用--local
选项强制 Git 从该文件读取和写入,但这实际上是默认行为。不出所料,为了使此选项正常工作,你需要在 Git 仓库的某个位置。
每个级别都会覆盖上一级别的值,因此 .git/config
中的值会优先于 [path]/etc/gitconfig
中的值。
在 Windows 系统上,Git 会在 $HOME
目录(对于大多数人是 C:\Users\$USER
)中查找 .gitconfig
文件。它也仍然会查找 [path]/etc/gitconfig
,尽管它是相对于 MSys 根目录的,即你在 Windows 系统上运行安装程序时决定安装 Git 的位置。如果你使用的是 2.x 或更高版本的 Git for Windows,在 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
选项执行该命令。
许多图形界面工具在首次运行时会帮助你完成此操作。
你的编辑器
现在你的身份已设置好,你可以配置默认的文本编辑器,当 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++ 是开发者在类 Unix 系统(如 Linux 和 macOS)或 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 查询该值的来源,它会告诉你哪个配置文件对设置该值具有最终决定权。
|