作者:zhanhailiang 日期:2014-11-03
git包括三个配置文件:
-
/etc/gitconfig 文件:系统中对全部用户都普遍适用的配置。
若使用git config 时用' –system'选项,读写的就是这个文件。
-
~/.gitconfig 文件:用户文件夹下的配置文件仅仅适用于该用户。若使用git config 时用' –global'选项,读写的就是这个文件。
-
当前项目的git 文件夹中的配置文件(也就是工作文件夹中的.git/config 文件):这里的配置只针对当前项目有效。
每个级别的配置都会覆盖上层的同样配置,所以.git/config 里的配置会覆盖/etc/gitconfig 中的同名变量。
能够通过git config –list查看当前配置:
[root@~/wade/git/node-lessons]# git config --list core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* remote.origin.url=https://github.com/alsotang/node-lessons.git branch.master.remote=origin branch.master.merge=refs/heads/master
我们也能够通过strace来检验git配置文件的载入顺序:
[root@~/wade/git/node-lessons]# strace git config --list execve("/usr/bin/git", ["git", "config", "--list"], [/* 27 vars */]) = 0 brk(0) = 0x151a000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f82cd66c000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=30968, ...}) = 0 mmap(NULL, 30968, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f82cd664000 close(3) = 0 open("/lib64/libz.so.1", O_RDONLY) = 3 read(3, "177ELF211 3 >