1. 如何对git进行配置--"git config"

作者:jicanmeng

时间:2014年08月25日


我们通过"git config"命令对git的配置文件进行操作来实现对git进行配置的目的。

git有三个配置文件:

  1. /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用--system 选项,读写的就是这个文件。修改这个文件需要具有系统管理员权限。
  2. ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用--global 选项,读写的就是这个文件。
  3. 当前项目的 git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。若使用 git config 时不加选项,读写的就是这个文件。

每一个级别的配置都会覆盖上层的相同配置,所以.git/config 里的配置会覆盖~/.gitconfig和/etc/gitconfig 中的同名变量,~/.gitconfig 里的配置会覆盖/etc/gitconfig中的同名变量。

git config --system --list只显示/etc/gitconfig文件的内容。
git config --global --list只显示~/.gitconfig文件的内容。
git config --list命令会显示三个文件中的所有配置,会先显示/etc/gitconfig中的配置,再显示~/.gitconfig中的配置,最后显示工作目录中的.git/config文件中的配置。
git config user.name只显示出有效的user.name。

[jicanmeng@andy tmp]$ sudo git config --system user.name jicanmeng-system
				[jicanmeng@andy tmp]$ sudo git config --system user.email jicanmeng-system@126.com
				[jicanmeng@andy tmp]$ git config --global user.name jicanmeng-global
				[jicanmeng@andy tmp]$ git config --global user.email jicanmeng-global@126.com
				[jicanmeng@andy tmp]$ git config user.name jicanmeng
                [jicanmeng@andy tmp]$ git config user.email jicanmeng@126.com
                [jicanmeng@andy tmp]$ git config --list
				user.name=jicanmeng-system
                user.email=jicanmeng-system@126.com
                user.name=jicanmeng-global
                user.email=jicanmeng-global@126.com
                user.name=jicanmeng
                user.email=jicanmeng@126.com
                [jicanmeng@andy tmp]$ git config user.name
				user.name=jicanmeng

可以通过git config命令简化一些git命令,例如:

[jicanmeng@andy tmp]$ sudo git config --system alias.st status
                [jicanmeng@andy tmp]$ sudo git config --system alias.co checkout

这样,执行"git st"命令就相当于执行"git status"命令,执行"git co"命令就相当于"git checkout"命令。

参考资料

  1. Pro Git
  2. git权威指南