-
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
文件:包含应用于系统上每个用户及其所有仓库的值。如果将--system
选项传递给git config
,它会专门从此文件读取和写入。因为这是一个系统配置文件,所以你需要管理员或超级用户权限才能对其进行更改。 -
~/.gitconfig
或~/.config/git/config
文件:特定于你(用户)个人的值。你可以通过传递--global
选项来让 Git 专门读取和写入此文件,这会影响你在系统上使用的所有仓库。 -
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 关于该值的来源,它会告诉您哪个配置文件在设置该值时具有最终决定权
|