好奇:git在哪里存储用户信息?

goh*_*goh 23 git

我想知道git在哪里存储用户信息.我创建了一个存储库,我和我的朋友都在工作.当我们都提交时,我们可以将我们俩视为不同修订的个体作者.虽然git config --global在他的主文件夹中使用.gitconfig文件创建,我找不到我的文件.那么我的用户信息存储在哪里?是否git config --global只影响个别登录用户?

jwe*_*ich 27

配置文件有3个默认路径.

  • 存储库本身: <your_git_repository>/.git/config
  • 用户主目录: ~/.gitconfig
  • 系统范围的目录: $(prefix)/etc/gitconfig

--global选项始终使用主目录.请注意,它git总是会尝试阅读所有这些内容.如果找到一个,它会加载它,并移动到下一个.Local优先于global,优先于全局.它使用简单的密钥合并算法.

参考:git-config文件

  • 什么是`$ {prefix}? (2认同)

Bom*_*mbe 7

如果你不存储在配置文件中的用户信息Git会查找在提交者信息环境,使用变量GIT_COMMITTER_NAME,GIT_COMMITTER_EMAIL,GIT_AUTHOR_NAME,和GIT_AUTHOR_EMAIL.如果没有这些变量,您的用户名和主机名将用于构造值.因此,即使配置文件中没有任何用户信息,两个用户也会有不同的提交者信息.


man*_*lds 5

共有三个位置-系统(系统上的所有用户位于$(prefix)/etc/gitconfig),全局(对于用户位于~/.gitconfig)和本地(对于仓库.git/config)。任何配置都应该在git可以采用的三个配置中。

但是,如果设置了一个GIT_CONFIG或多个其他环境变量,则某些值将来自这些值。如果您无法在任何配置文件中找到所需的内容,或者甚至找不到这些文件,请把所有GIT_ *环境变量作为最后的选择。

此处有更多详细信息:

http://git-scm.com/docs/git-config#FILES