Когда git ввел ключ "--local" для команды git config? - PullRequest
8 голосов
/ 09 марта 2012

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

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

Ответы [ 2 ]

10 голосов
/ 09 марта 2012

Так как исходники git поддерживаются в git, мы можем найти ревизию, которая ввела опцию --local:

commit 57210a678a8bedd222bf4478eeb0a664d9dd5369
Author: Sverre Rabbelier <srabbelier@gmail.com>
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 (документация была обновлена ​​после того, как я первоначально опубликовал этот ответ).

7 голосов
/ 25 июня 2013

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

Commit 560d4b86abc547dfb10b116ab99c800d68ae8849 :

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

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

Описаниесейчас:

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