-
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 目录下的
config文件(即.git/config):特定于该单个仓库。你可以通过--local选项强制 Git 从此文件读取和写入,但实际上这就是默认行为。不出所料,要使此选项正常工作,你需要位于 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++ 是在 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 该值的来源,它会告诉你哪个配置文件最终确定了该值
|