-
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文件:专门针对该单个仓库。你可以强制 Git 使用--local选项读取和写入此文件,但这实际上是默认值。不出所料,你需要位于 Git 仓库中的某个位置才能使此选项正常工作。
每个级别都会覆盖前一个级别中的值,因此 .git/config 中的值会覆盖 [path]/etc/gitconfig 中的值。
在 Windows 系统上,Git 在 $HOME 目录(对于大多数人来说是 C:\Users\$USER)中查找 .gitconfig 文件。它仍然会查找 [path]/etc/gitconfig,尽管它是相对于 MSys 根目录的,即你在 Windows 系统上运行安装程序时决定安装 Git 的位置。如果你使用的是 Git for Windows 的 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++ 是开发人员在类 Unix 系统(如 Linux 和 macOS)或 Windows 系统上常用的流行文本编辑器。如果你正在使用其他编辑器或 32 位版本,请在git config core.editor commands中查找如何使用 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 查询该值的_来源_,它会告诉你哪个配置文件对设置该值有最终决定权:
|