Проверка глобальных и локальных конфигураций
На этом этапе мы рассмотрим различия между глобальной и локальной конфигурацией Git и узнаем, как просмотреть все ваши настройки.
Git имеет разные уровни конфигурации. Наиболее распространенные из них:
- Уровень системы: Применяется ко всем пользователям на системе. (Менее распространено для отдельных пользователей)
- Глобальный уровень: Применяется к вашей учетной записи на системе для всех ваших репозиториев. Эти настройки хранятся в файле
~/.gitconfig
.
- Локальный уровень: Применяется только к текущему репозиторию. Эти настройки хранятся в файле
.git/config
внутри репозитория.
Локальные конфигурации переопределяют глобальные, а глобальные - системные.
Чтобы просмотреть все ваши глобальные настройки, вы можете использовать флаги --global --list
:
git config --global --list
Вы должны увидеть вывод, похожий на следующий, показывающий user.name
и user.email
, которые мы настроили, а также init.defaultBranch
:
user.name=Jane Doe
[email protected]
init.defaultBranch=master
Теперь создадим локальную конфигурацию в репозитории my-time-machine
. Вернитесь в каталог репозитория:
cd ~/project/my-time-machine
Мы можем установить локальное имя пользователя, которое будет применяться только к этому конкретному репозиторию. Используем другое имя:
git config user.name "Time Traveler"
Обратите внимание, что на этот раз мы не использовали флаг --global
. Это сообщает Git-у установить конфигурацию локально для текущего репозитория.
Теперь просмотрим локальные конфигурации для этого репозитория, используя --local --list
:
git config --local --list
Вы должны увидеть только что установленное локальное имя пользователя:
user.name=Time Traveler
Наконец, давайте посмотрим на все конфигурации, которые применяются к текущему репозиторию, включая как локальные, так и глобальные настройки. Git сначала покажет локальные настройки, так как они имеют приоритет:
git config --list
Вывод будет показывать как локальные, так и глобальные настройки. Обратите внимание, что user.name
показывает "Time Traveler" (локальная настройка), а user.email
показывает "[email protected]" (глобальная настройка, так как мы не установили локальный адрес электронной почты):
user.name=Time Traveler
[email protected]
init.defaultBranch=master
Это демонстрирует, как Git приоритетно использует локальные конфигурации по сравнению с глобальными.