В какой версии git стала доступна опция git config --local
и где я могу прочитать об этом подробнее?
Я думал, что отсутствие --global
автоматически предполагает, что это локальная переменная конфигурации. Зачем нужна была эта новая опция?
В какой версии git стала доступна опция git config --local
и где я могу прочитать об этом подробнее?
Я думал, что отсутствие --global
автоматически предполагает, что это локальная переменная конфигурации. Зачем нужна была эта новая опция?
Поскольку исходники git хранятся в git, мы можем найти ревизию, в которой появилась опция --local
:
commit 57210a678a8bedd222bf4478eeb0a664d9dd5369
Author: Sverre Rabbelier <[email protected]>
Date: 2010-08-03 20:59:23 -0500
config: add --local option
This is a shorthand similar to --system but instead uses
the config file of the current repository.
Похоже, что это изменение впервые появилось в версии 1.7.4, вышедшей в конце 2010 года или около того.
Насколько я могу судить из беглого взгляда на исходный код (builtin/config.h
) и справочную страницу, по умолчанию используется локальная, если не установлены определенные переменные среды, в частности $GIT_CONFIG
. Параметр --local
явно переопределяет любые настройки переменных среды.
См. ответ VonC для получения дополнительной информации о семантике --local
(документация была обновлена после того, как я первоначально опубликовал этот ответ).
Обратите внимание, что описание этой опции --local
было обновлено совсем недавно (июнь 2013 года, три года спустя):
Коммит 560d4b86abc547dfb10b116ab99c800d68ae8849:
config: Добавить описание опции
--local
Он отсутствует в списке опций, хотя упоминается в общем описании.
Добавьте его для полноты картины.
Описание теперь такое:
--local::
- Для параметров записи: запись в файл
.git/config
репозитория.
Это поведение по умолчанию.- Для параметров чтения: чтение только из репозитория
.git/config
, а не из всех доступных файлов.