Мне интересно, где git хранит информацию о пользователе. Я создал репозиторий, на котором работают как я, так и мой друг. Когда мы оба совершаем, мы можем видеть нас обоих как отдельных авторов для разных изменений. в то время как файл .gitconfig создан с помощью git config --global
в его домашней папке, я не смог найти его в моем. Итак, где хранится моя пользовательская информация? Использует ли git config --global
только для отдельного пользователя входа?
Любопытно: где git хранить информацию о пользователе?
Ответ 1
Если вы не храните информацию о пользователе в своих файлах конфигурации, Git смотрит в среду информацию об участниках, используя переменные GIT_COMMITTER_NAME
, GIT_COMMITTER_EMAIL
, GIT_AUTHOR_NAME
и GIT_AUTHOR_EMAIL
. В отсутствие этих переменных ваше имя пользователя и имя хоста используются для создания значения. Таким образом, даже без какой-либо информации пользователя, хранящейся в файлах конфигурации, у двух пользователей будет информация о коммиттерах.
Ответ 2
Существует три пути по умолчанию для файла конфигурации.
- Репозиторий:
<your_git_repository>/.git/config
- Домашний каталог пользователя:
~/.gitconfig
- Общесистемный каталог:
$(prefix)/etc/gitconfig
Параметр --global
всегда использует домашний каталог. Обратите внимание, что git
всегда будет пытаться прочитать все из них. Если он найдет один, он загрузит его и перейдет к следующему. Локаль имеет приоритет над глобальным, что имеет приоритет перед общесистемной. Он использует простой алгоритм слияния ключей.
Ссылка: git -config ФАЙЛЫ
Ответ 3
Есть три места - система (все пользователи системы в $(prefix)/etc/gitconfig
), глобальные (для пользователя в ~/.gitconfig
) и локальные (для репо при .git/config
). Любая конфигурация должна быть в любом из трех, которые должны быть приняты git.
Однако, если задано GIT_CONFIG
или myriad другая переменная среды, некоторые из этих значений будут исходить от них. Если вы не можете найти то, что хотите в любом из файлов конфигурации, или даже не можете найти эти файлы, посмотрите на все переменные среды GIT_ * в качестве последнего средства.
Подробнее здесь: