Git 的配置文件
Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置,针对三个级别System
,User
和Repository
:
/etc/gitconfig
文件(一般是 Git 的安装目录): 包含系统上每一个用户及他们仓库的通用配置
。 如果使用带有--system
选项的 git config 时,它会从此文件读写配置变量。~/.gitconfig
或~/.config/git/config
文件(当前用户主目录):只针对当前用户
。 可以传递--global
选项让 Git 读写此文件。当前使用仓库的 Git 目录中的
config
文件(就是.git/config
):针对该仓库
。
你可以通过git config -l --show-origin
来查看当前目录下的 git 配置信息(配置来源
+配置
):
1 | $ git config -l --show-origin |
你会发现其中user.name
在 global 和 repository 级别同时存在,此时将使用 repository 里的配置。即配置优先级:Repository > Global > System
。
初次使用 Git 前的配置
用于提交的用户信息
当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改
:
1 | git config --global user.name "suchenxiaoyu" |
当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global
选项的命令来进行配置。
这里的用户信息并不是你的 git 账户信息,这些信息是用于每一次的提交。当然,你也可以使用你的 git 账号信息作为用户信息,这并没有什么不可以。
文本编辑器
设置 Git 默认使用的文本编辑器, 一般可能会是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置:
1 | git config --global core.editor emacs |
如果是在 windows 上,假设你想设置 Notepad++:
1 | git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession" |
差异分析工具
还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:
1 | git config --global merge.tool vimdiff |
Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息。
当然,你也可以指定使用自己开发的工具,具体请参考后续文章。
查看配置信息
要检查已有的配置信息,可以使用 git config –list 命令:
1 | $ git config --list |
有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。
直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:
1 | $ git config user.name |
参考:
[1]. Git 安装配置
[2]. First-Time Git Setup