Когда git представил переключатель --local для команды git config?

В какой версии git стала доступна опция git config --local и где я могу прочитать об этом подробнее?

Я думал, что отсутствие --global автоматически предполагает, что это локальная переменная конфигурации. Зачем нужна была эта новая опция?


person András Szepesházi    schedule 09.03.2012    source источник
comment
Что касается того, почему это необходимо, можно предположить, что это для фильтрации, например. используется с --list   -  person johnny    schedule 09.03.2012
comment
связанные: stackoverflow.com/questions/5816134/   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 07.07.2016


Ответы (2)


Поскольку исходники 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 (документация была обновлена ​​после того, как я первоначально опубликовал этот ответ).

person Keith Thompson    schedule 09.03.2012
comment
Как раз то, что я искал! Спасибо Кит. - person András Szepesházi; 09.03.2012

Обратите внимание, что описание этой опции --local было обновлено совсем недавно (июнь 2013 года, три года спустя):

Коммит 560d4b86abc547dfb10b116ab99c800d68ae8849:

config: Добавить описание опции --local

Он отсутствует в списке опций, хотя упоминается в общем описании.
Добавьте его для полноты картины.

Описание теперь такое:

--local::
  • Для параметров записи: запись в файл .git/config репозитория.
    Это поведение по умолчанию.
  • Для параметров чтения: чтение только из репозитория .git/config, а не из всех доступных файлов.
person VonC    schedule 25.06.2013