Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
-
2.54.0
2026-04-20
-
2.53.0
2026-02-02
-
2.52.0
2025-11-17
-
2.51.2
2025-10-27
-
2.51.1
2025-10-15
-
2.51.0
2025-08-18
- 2.50.1 no changes
-
2.50.0
2025-06-16
- 2.49.1 no changes
-
2.49.0
2025-03-14
- 2.48.2 no changes
-
2.48.1
2025-01-13
-
2.48.0
2025-01-10
- 2.47.3 no changes
-
2.47.2
2024-11-26
-
2.47.1
2024-11-25
-
2.47.0
2024-10-06
- 2.46.4 no changes
-
2.46.3
2024-11-26
-
2.46.2
2024-09-23
-
2.46.1
2024-09-13
-
2.46.0
2024-07-29
- 2.45.4 no changes
-
2.45.3
2024-11-26
- 2.45.1 → 2.45.2 no changes
-
2.45.0
2024-04-29
- 2.44.4 no changes
-
2.44.3
2024-11-26
- 2.44.1 → 2.44.2 no changes
-
2.44.0
2024-02-23
- 2.43.7 no changes
-
2.43.6
2024-11-26
- 2.43.2 → 2.43.5 no changes
-
2.43.1
2024-02-09
-
2.43.0
2023-11-20
-
2.42.4
2024-11-26
- 2.42.2 → 2.42.3 no changes
-
2.42.1
2023-11-02
-
2.42.0
2023-08-21
-
2.41.3
2024-11-26
- 2.41.1 → 2.41.2 no changes
-
2.41.0
2023-06-01
-
2.40.4
2024-11-26
- 2.40.1 → 2.40.3 no changes
-
2.40.0
2023-03-12
- 2.39.1 → 2.39.5 no changes
-
2.39.0
2022-12-12
- 2.38.3 → 2.38.5 no changes
-
2.38.2
2022-12-11
-
2.38.1
2022-10-07
-
2.38.0
2022-10-02
- 2.37.5 → 2.37.7 no changes
-
2.37.4
2022-10-06
- 2.37.3 no changes
-
2.37.2
2022-08-11
- 2.37.1 no changes
-
2.37.0
2022-06-27
- 2.36.4 → 2.36.6 no changes
-
2.36.3
2022-10-06
-
2.36.2
2022-06-23
- 2.36.1 no changes
-
2.36.0
2022-04-18
- 2.35.6 → 2.35.8 no changes
-
2.35.5
2022-10-06
-
2.35.4
2022-06-23
-
2.35.3
2022-04-13
-
2.35.2
2022-03-23
- 2.35.1 no changes
-
2.35.0
2022-01-24
- 2.34.6 → 2.34.8 no changes
-
2.34.5
2022-10-06
-
2.34.4
2022-06-23
-
2.34.3
2022-04-13
-
2.34.2
2022-03-23
- 2.34.1 no changes
-
2.34.0
2021-11-15
- 2.33.6 → 2.33.8 no changes
-
2.33.5
2022-10-06
-
2.33.4
2022-06-23
-
2.33.3
2022-04-13
-
2.33.2
2022-03-23
-
2.33.1
2021-10-12
-
2.33.0
2021-08-16
- 2.32.5 → 2.32.7 no changes
-
2.32.4
2022-10-06
-
2.32.3
2022-06-23
-
2.32.2
2022-04-13
-
2.32.1
2022-03-23
-
2.32.0
2021-06-06
- 2.31.6 → 2.31.8 no changes
-
2.31.5
2022-10-06
-
2.31.4
2022-06-23
-
2.31.3
2022-04-13
-
2.31.2
2022-03-23
-
2.31.1
2021-03-26
-
2.31.0
2021-03-15
- 2.30.7 → 2.30.9 no changes
-
2.30.6
2022-10-06
-
2.30.5
2022-06-23
-
2.30.4
2022-04-13
-
2.30.3
2022-03-23
- 2.30.2 no changes
-
2.30.1
2021-02-08
-
2.30.0
2020-12-27
- 2.29.1 → 2.29.3 no changes
-
2.29.0
2020-10-19
- 2.28.1 no changes
-
2.28.0
2020-07-27
- 2.27.1 no changes
-
2.27.0
2020-06-01
- 2.26.1 → 2.26.3 no changes
-
2.26.0
2020-03-22
- 2.25.3 → 2.25.5 no changes
-
2.25.2
2020-03-17
-
2.25.1
2020-02-17
-
2.25.0
2020-01-13
- 2.24.1 → 2.24.4 no changes
-
2.24.0
2019-11-04
- 2.23.1 → 2.23.4 no changes
-
2.23.0
2019-08-16
- 2.22.2 → 2.22.5 no changes
-
2.22.1
2019-08-11
-
2.22.0
2019-06-07
- 2.21.1 → 2.21.4 no changes
-
2.21.0
2019-02-24
- 2.20.1 → 2.20.5 no changes
-
2.20.0
2018-12-09
- 2.19.3 → 2.19.6 no changes
-
2.19.2
2018-11-21
- 2.19.1 no changes
-
2.19.0
2018-09-10
- 2.18.1 → 2.18.5 no changes
-
2.18.0
2018-06-21
- 2.17.1 → 2.17.6 no changes
-
2.17.0
2018-04-02
-
2.16.6
2019-12-06
-
2.15.4
2019-12-06
-
2.14.6
2019-12-06
-
2.13.7
2018-05-22
-
2.12.5
2017-09-22
-
2.11.4
2017-09-22
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
-
2.8.6
2017-07-30
-
2.7.6
2017-07-30
-
2.6.7
2017-05-05
-
2.5.6
2017-05-05
-
2.4.12
2017-05-05
-
2.3.10
2015-09-28
-
2.2.3
2015-09-04
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
ОБЗОР
git config list [<параметр-файла>] [<параметр-отображения>] [--includes] git config get [<параметр-файла>] [<параметр-отображения>] [--includes] [--all] [--regexp] [--value=<шаблон>] [--fixed-value] [--default=<значение-по-умолчанию>] [--url=<url>] <имя> git config set [<параметр-файла>] [--type=<тип>] [--all] [--value=<шаблон>] [--fixed-value] <имя> <значение> git config unset [<параметр-файла>] [--all] [--value=<шаблон>] [--fixed-value] <имя> git config rename-section [<параметр-файла>] <старое-имя> <новое-имя> git config remove-section [<параметр-файла>] <имя> git config edit [<параметр-файла>] git config [<параметр-файла>] --get-colorbool <имя> [<stdout-это-tty>]
ОПИСАНИЕ
Вы можете использовать эту команду для проверки/установки/замены значений параметров. Имя секции и ключа разделены точкой, и значение будет скрыто.
Несколько строк могут быть добавлены к параметру с помощью параметра --append. Если вы хотите обновить или снять параметр, который может встречаться в нескольких строках, необходимо указать --value=<шаблон> (который является расширенным регулярным выражением, если только не указан параметр --fixed-value). Только существующие значения, соответствующие шаблону, обновляются или снимаются. Если вы хотите обрабатывать строки, которые не соответствуют шаблону, просто добавьте один восклицательный знак в начале (см. также ПРИМЕРЫ), но обратите внимание, что это работает только тогда, когда параметр --fixed-value не используется.
Параметр --type=<тип> указывает git config гарантировать, что входящие и исходящие значения могут быть канонизированы в соответствии с указанным <типом>. Если --type=<тип> не указан, канонизация выполняться не будет. Вызывающие могут снять существующий спецификатор --type с помощью --no-type.
При чтении значения по умолчанию читаются из системных, глобальных и локальных для репозитория файлов конфигурации, а параметры --system, --global, --local, --worktree и --file <имя-файла> можно использовать, чтобы указать команде читать только из этого местоположения (см. ФАЙЛЫ).
При записи новое значение по умолчанию записывается в локальный для репозитория файл конфигурации, а параметры --system, --global, --worktree, --file <имя-файла> можно использовать, чтобы указать команде записывать в это местоположение (вы можете указать --local, но это значение по умолчанию).
Эта команда завершится с ненулевым статусом при ошибке. Некоторые коды выхода:
-
Раздел или ключ недействительны (ret=1),
-
не указан раздел или имя (ret=2),
-
файл конфигурации недействителен (ret=3),
-
файл конфигурации не может быть записан (ret=4),
-
вы пытаетесь снять параметр, который не существует (ret=5),
-
вы пытаетесь снять/установить параметр, для которого совпадает несколько строк (ret=5), или
-
вы пытаетесь использовать недопустимое регулярное выражение (ret=6).
В случае успеха команда возвращает код выхода 0.
Список всех доступных переменных конфигурации можно получить с помощью команды git help --config.
КОМАНДЫ
- list
-
Перечислить все переменные и их значения, установленные в конфигурационном файле.
- get
-
Выдаёт значение указанного ключа. Если ключ присутствует в конфигурации несколько раз, выдаёт последнее значение. Если указан
--all, выдаёт все значения, связанные с ключом. Возвращает код ошибки 1, если ключ отсутствует. - set
-
Устанавливает значение для одного или нескольких параметров конфигурации. По умолчанию эта команда отказывается записывать многозначные параметры конфигурации. Передача
--allзаменит все многозначные параметры конфигурации на новое значение, тогда как--value=заменит все параметры конфигурации, значения которых соответствуют указанному шаблону. - unset
-
Снимает значение для одного или нескольких параметров конфигурации. По умолчанию эта команда отказывается снимать многозначные ключи. Передача
--allснимет все многозначные параметры конфигурации, тогда как--valueснимет все параметры конфигурации, значения которых соответствуют указанному шаблону. - rename-section
-
Переименовать указанную секцию.
- remove-section
-
Удалить из конфигурационного файла указанную секцию.
- edit
-
Открывает редактор для изменения указанного файла конфигурации;
--system,--global,--local(по умолчанию),--worktree, или--file<файл-конфигурации>.
ПАРАМЕТРЫ
- --replace-all
-
Поведение по умолчанию — замена не более одной строки. Это заменяет все строки, соответствующие ключу (и, опционально,
--value=<шаблон>). - --append
-
Добавляет новую строку к параметру без изменения существующих значений. Это то же самое, что указать --value=^$ в
set. - --comment <сообщение>
-
Добавляет комментарий в конец новых или изменённых строк.
Если <сообщение> начинается с одного или нескольких пробелов, за которыми следует "", оно используется как есть. Если оно начинается с "", перед его использованием добавляется пробел. В противном случае к нему добавляется строка " # " (пробел, за которым следует решётка, за которой следует пробел). И результирующая строка помещается сразу после значения, определённого для переменной. <сообщение> не должно содержать символов перевода строки (многострочные комментарии не разрешены).
- --all
-
С
getвозвращает все значения для многозначного ключа. - --regexp
-
С
getинтерпретирует имя как регулярное выражение. Сопоставление с регулярным выражением в настоящее время чувствительно к регистру и выполняется против канонизированной версии ключа, в которой имена разделов и переменных приводятся к нижнему регистру, а имена подразделов — нет. - --url=<URL>
-
Когда указано двухкомпонентное <имя> как <раздел>.<ключ>, возвращается значение для <раздел>.<URL>.<ключ>, чья часть <URL> лучше всего соответствует данному URL (если такого ключа не существует, значение для <раздел>.<ключ> используется как резервное). Когда указан только <раздел> в качестве имени, сделать это для всех ключей в разделе и перечислить их. Возвращает код ошибки 1, если значение не найдено.
- --global
-
Для записи параметров: записывать в глобальный файл
~/.gitconfig, а не в.git/configрепозитория, записывать в файл$XDG_CONFIG_HOME/git/config, если этот файл существует, а файл~/.gitconfigне существует.Для чтения параметров: читать только из глобального
~/.gitconfigи из$XDG_CONFIG_HOME/git/config, а не из всех доступных файлов.См. также ФАЙЛЫ.
- --system
-
Для записи параметров: записывать в общесистемный
$(prefix)/etc/gitconfig, а не в.git/configрепозитория.Для чтения параметров: читать только из общесистемного
$(prefix)/etc/gitconfig, а не из всех доступных файлов.См. также ФАЙЛЫ.
- --local
-
Для записи параметров: записывать в файл
.git/configрепозитория. Это поведение по умолчанию.Для чтения параметров: читать только из
.git/configрепозитория, а не из всех доступных файлов.См. также ФАЙЛЫ.
- --worktree
-
Аналогично
--local, за исключением того, что$GIT_DIR/config.worktreeчитается или записывается, если включёнextensions.worktreeConfig. Если не включён, то это то же самое, что--local. Обратите внимание, что$GIT_DIRравен$GIT_COMMON_DIRдля основного рабочего каталога, но имеет вид$GIT_DIR/worktrees/<id>/для других рабочих каталогов. Чтобы узнать, как включитьextensions.worktreeConfig, см. git-worktree[1]. - -f <файл-конфигурации>
- --file <файл-конфигурации>
-
Для записи параметров: записывать в указанный файл, а не в
.git/configрепозитория.Для чтения параметров: читать только из указанного файла, а не из всех доступных файлов.
См. также ФАЙЛЫ.
- --blob <blob-объект>
-
Аналогично
--file, но использовать указанный blob-объект вместо файла. Например, вы можете использовать master:.gitmodules, чтобы читать значения из файла .gitmodules в ветке master. Более полный список способов написания имён blob-объектов см. в разделе "ЗАДАНИЕ РЕВИЗИЙ" в gitrevisions[7]. -
--value=<шаблон> -
--no-value -
С
get,setиunsetсопоставлять только с <шаблон>. Шаблон является расширенным регулярным выражением, если только не указан--fixed-value.Используйте
--no-value, чтобы снять <шаблон>. - --fixed-value
-
При использовании с
--value=<шаблон> обрабатывать <шаблон> как точную строку вместо регулярного выражения. Это ограничит сопоставляемые пары имя/значение только теми, где значение точно равно <шаблон>. - --type <тип>
-
git config гарантирует, что любой ввод или вывод действителен в соответствии с заданными ограничениями типа, и будет канонизировать исходящие значения в канонической форме <типа>.
Допустимыми `<тип>`ами являются:
-
bool: канонизировать значения
true,yes,onи положительные числа как "true", а значенияfalse,no,offи0как "false". -
int: канонизировать значения как простые десятичные числа. Необязательный суффикс k, m или g приведёт к умножению значения на 1024, 1048576 или 1073741824 при вводе.
-
bool-or-int: канонизировать в соответствии с bool или int, как описано выше.
-
path: канонизировать путём раскрытия начального
~в значение$HOMEи~userв домашний каталог для указанного пользователя. Этот спецификатор не имеет эффекта при установке значения (но вы можете использовать git config раздел.переменная ~/ из командной строки, чтобы ваша оболочка выполнила раскрытие.) -
expiry-date: канонизировать путём преобразования из фиксированной или относительной строки даты в метку времени. Этот спецификатор не имеет эффекта при установке значения.
-
color: При получении значения канонизировать путём преобразования в escape-последовательность цвета ANSI. При установке значения выполняется проверка работоспособности, чтобы убедиться, что данное значение может быть канонизировано как цвет ANSI, но оно записывается как есть.
-
- --bool
- --int
- --bool-or-int
- --path
- --expiry-date
-
Исторические параметры для выбора спецификатора типа. Вместо этого предпочтительнее использовать
--type(см. выше). - --no-type
-
Снимает ранее установленный спецификатор типа (если он был установлен ранее). Этот параметр требует, чтобы git config не канонизировал полученную переменную.
--no-typeне имеет эффекта без--type=<тип> или--<тип>. - -z
- --null
-
Для всех параметров, которые выводят значения и/или ключи, всегда завершать значения нулевым символом (вместо новой строки). Использовать новую строку в качестве разделителя между ключом и значением. Это позволяет безопасно анализировать вывод, не путаясь, например, из-за значений, содержащих разрывы строк.
- --name-only
-
Выводить только имена переменных конфигурации для
listилиget. -
--show-names -
--no-show-names -
С
getпоказывать ключи конфигурации в дополнение к их значениям. По умолчанию используется--no-show-names, если только не указан--urlи в <имя> нет подразделов. - --show-origin
-
Дополняет вывод всех запрошенных параметров конфигурации типом источника (файл, стандартный ввод, blob-объект, командная строка) и фактическим источником (путь к файлу конфигурации, ссылка или идентификатор blob-объекта, если применимо).
- --show-scope
-
Аналогично
--show-originтем, что дополняет вывод всех запрошенных параметров конфигурации областью действия этого значения (рабочий каталог, локальный, глобальный, системный, команда). - --get-colorbool <имя> [<stdout-это-tty>]
-
Находит настройку цвета для <имя> (например,
color.diff) и выводит "true" или "false". <stdout-это-tty> должно быть либо "true", либо "false" и учитывается, когда в конфигурации указано "auto". Если <stdout-это-tty> отсутствует, то проверяет стандартный вывод самой команды и завершается со статусом 0, если цвет должен использоваться, или со статусом 1 в противном случае. Когда настройка цвета для имя не определена, команда используетcolor.uiв качестве резервного варианта. - --includes
- --no-includes
-
Соблюдать директивы
include.*в файлах конфигурации при поиске значений. По умолчаниюoff, когда указан конкретный файл (например, с помощью--file,--globalи т.д.), иonпри поиске во всех файлах конфигурации. - --default <значение>
-
При использовании
get, если запрошенная переменная не найдена, вести себя так, как если бы <значение> было значением, присвоенным этой переменной.
УСТАРЕВШИЕ РЕЖИМЫ
Следующие режимы устарели в пользу подкоманд. Рекомендуется перейти на новый синтаксис.
- git config <имя>
-
Заменено на
gitconfigget<имя>. - git config <имя> <значение> [<шаблон-значения>]
-
Заменено на
gitconfigset[--value=<шаблон>] <имя> <значение>. - -l
- --list
-
Заменено на
gitconfiglist. - --get <имя> [<шаблон-значения>]
-
Заменено на
gitconfigget[--value=<шаблон>] <имя>. - --get-all <имя> [<шаблон-значения>]
-
Заменено на
gitconfigget[--value=<шаблон>]--all<имя>. - --get-regexp <регулярное-выражение-имени>
-
Заменено на
gitconfigget--all--show-names--regexp<регулярное-выражение-имени>. - --get-urlmatch <имя> <URL>
-
Заменено на
gitconfigget--all--show-names--url=<URL> <имя>. - --get-color <имя> [<значение-по-умолчанию>]
-
Заменено на
gitconfigget--type=color[--default=<значение-по-умолчанию>] <имя>. - --add <имя> <значение>
-
Заменено на
gitconfigset--append<имя> <значение>. - --unset <имя> [<шаблон-значения>]
-
Заменено на
gitconfigunset[--value=<шаблон>] <имя>. - --unset-all <имя> [<шаблон-значения>]
-
Заменено на
gitconfigunset[--value=<шаблон>]--all<имя>. - --rename-section <старое-имя> <новое-имя>
-
Заменено на
gitconfigrename-section<старое-имя> <новое-имя>. - --remove-section <имя>
-
Заменено на
gitconfigremove-section<имя>. - -e
- --edit
-
Заменено на
gitconfigedit.
КОНФИГУРАЦИЯ
pager.config учитывается только при выводе списка конфигурации, т.е. при использовании list или get, которые могут возвращать несколько результатов. По умолчанию используется пейджер.
ФАЙЛЫ
По умолчанию git config читает параметры конфигурации из нескольких файлов:
- $(prefix)/etc/gitconfig
-
Системный файл конфигурации.
- $XDG_CONFIG_HOME/git/config
- ~/.gitconfig
-
Пользовательские файлы конфигурации. Когда переменная среды XDG_CONFIG_HOME не установлена или пуста, $HOME/.config/ используется как $XDG_CONFIG_HOME.
Они также называются «глобальными» файлами конфигурации. Если оба файла существуют, оба файла читаются в порядке, указанном выше.
- $GIT_DIR/config
-
Файл конфигурации, специфичный для репозитория.
- $GIT_DIR/config.worktree
-
Это необязательно и используется только тогда, когда
extensions.worktreeConfigприсутствует в $GIT_DIR/config.
Вы также можете предоставить дополнительные параметры конфигурации при запуске любой команды git, используя параметр -c. Подробности см. в git[1].
Параметры будут читаться из всех доступных файлов. Если глобальные или общесистемные файлы конфигурации отсутствуют или нечитаемы, они будут проигнорированы. Если файл конфигурации репозитория отсутствует или нечитаем, git config завершится с ненулевым кодом ошибки. Сообщение об ошибке выдаётся, если файл нечитаем, но не если он отсутствует.
Файлы читаются в порядке, указанном выше, причём последнее найденное значение имеет приоритет над значениями, прочитанными ранее. Когда берутся несколько значений, используются все значения ключа из всех файлов.
По умолчанию параметры записываются только в файл конфигурации, специфичный для репозитория. Обратите внимание, что это также влияет на такие параметры, как set и unset. git config всегда изменяет только один файл за раз.
Вы можете ограничить, какие источники конфигурации читаются или в которые записываются, указав путь к файлу с помощью параметра --file или указав область действия конфигурации с помощью --system, --global, --local или --worktree. Подробнее см. ПАРАМЕТРЫ выше.
ОБЛАСТИ ДЕЙСТВИЯ
Каждый источник конфигурации попадает в определённую область действия конфигурации. Области действия:
- система
-
$(prefix)/etc/gitconfig
- глобально
-
$XDG_CONFIG_HOME/git/config
~/.gitconfig
- локально
-
$GIT_DIR/config
- рабочая копия (worktree)
-
$GIT_DIR/config.worktree
- команда
-
Переменные среды GIT_CONFIG_{COUNT,KEY,VALUE} (см. ОКРУЖЕНИЕ ниже)
параметр
-c
За исключением command, каждая область действия соответствует параметру командной строки: --system, --global, --local, --worktree.
При чтении параметров указание области действия приведёт к чтению параметров только из файлов в этой области действия. При записи параметров указание области действия приведёт к записи в файлы в этой области действия (вместо файла конфигурации, специфичного для репозитория). Полное описание см. в ПАРАМЕТРЫ выше.
Большинство параметров конфигурации учитываются независимо от области действия, в которой они определены, но некоторые параметры учитываются только в определённых областях действия. Полные сведения см. в документации по соответствующему параметру.
Защищённая конфигурация
Защищённая конфигурация относится к областям действия system, global и command. По соображениям безопасности некоторые параметры учитываются только тогда, когда они указаны в защищённой конфигурации, и игнорируются в противном случае.
Git рассматривает эти области действия как контролируемые пользователем или доверенным администратором. Это связано с тем, что злоумышленник, контролирующий эти области, может нанести значительный вред без использования Git, поэтому предполагается, что среда пользователя защищает эти области от злоумышленников.
ОКРУЖЕНИЕ
См. также ФАЙЛЫ.
- GIT_CONFIG_COUNT
- GIT_CONFIG_KEY_<n>
- GIT_CONFIG_VALUE_<n>
-
Если GIT_CONFIG_COUNT установлен в положительное число, все пары среды GIT_CONFIG_KEY_<n> и GIT_CONFIG_VALUE_<n> до этого числа будут добавлены в конфигурацию времени выполнения процесса. Пары конфигурации индексируются с нуля. Любой отсутствующий ключ или значение рассматривается как ошибка. Пустой GIT_CONFIG_COUNT обрабатывается так же, как GIT_CONFIG_COUNT=0, то есть никакие пары не обрабатываются. Эти переменные среды будут переопределять значения в файлах конфигурации, но сами будут переопределены любыми явными параметрами, переданными через
git-c.Это полезно в случаях, когда вы хотите породить несколько команд git с общей конфигурацией, но не можете полагаться на файл конфигурации, например, при написании сценариев.
- GIT_CONFIG
-
Если параметр
--fileне предоставленgitconfig, использовать файл, заданныйGIT_CONFIG, как если бы он был предоставлен через--file. Эта переменная не влияет на другие команды Git и в основном предназначена для исторической совместимости; обычно нет причин использовать её вместо параметра--file.
ПРИМЕРЫ
Дан файл .git/config, подобный этому:
# # Это файл конфигурации, и # символ '#' или ';' обозначает # комментарий # ; основные переменные [core] ; Не доверять режимам файлов filemode = false ; Наш алгоритм сравнения [diff] external = /usr/local/bin/diff-wrapper renames = true ; Настройки прокси [core] gitproxy=proxy-command for kernel.org gitproxy=default-proxy ; для всех остальных ; HTTP [http] sslVerify [http "https://weak.example.com"] sslVerify = false cookieFile = /tmp/cookie.txt
вы можете установить filemode в true с помощью
% git config set core.filemode true
Гипотетические записи команды прокси на самом деле имеют постфикс, чтобы различать, к какому URL они применяются. Вот как изменить запись для kernel.org на "ssh".
% git config set --value='for kernel.org$' core.gitproxy '"ssh" for kernel.org'
Это гарантирует, что заменяется только пара ключ/значение для kernel.org.
Чтобы удалить запись для renames, выполните
% git config unset diff.renames
Если вы хотите удалить запись для многозначной переменной (например, core.gitproxy выше), вы должны предоставить регулярное выражение, соответствующее значению ровно одной строки.
Чтобы запросить значение для данного ключа, выполните
% git config get core.filemode
или, чтобы запросить многозначную переменную:
% git config get --value="for kernel.org$" core.gitproxy
Если вы хотите узнать все значения для многозначной переменной, выполните:
% git config get --all --show-names core.gitproxy
Если вы любите жить опасно, вы можете заменить все core.gitproxy новым с помощью
% git config set --all core.gitproxy ssh
Однако, если вы действительно хотите заменить только строку для прокси по умолчанию, т.е. ту, у которой нет постфикса "for …", сделайте что-то вроде этого:
% git config set --value='! for ' core.gitproxy ssh
Чтобы действительно сопоставлять только значения с восклицательным знаком, вы должны
% git config set --value='[!]' раздел.ключ значение
Чтобы добавить новый прокси, не изменяя ни одного из существующих, используйте
% git config set --append core.gitproxy '"proxy-command" for example.com'
Пример использования пользовательского цвета из конфигурации в вашем сценарии:
#!/bin/sh
WS=$(git config get --type=color --default="blue reverse" color.diff.whitespace)
RESET=$(git config get --type=color --default="reset" "")
echo "${WS}ваш цвет пробелов или синий обратный${RESET}"
Для URL-адресов в https://weak.example.com http.sslVerify установлен в false, в то время как для всех остальных он установлен в true:
% git config get --type=bool --url=https://good.example.com http.sslverify true % git config get --type=bool --url=https://weak.example.com http.sslverify false % git config get --url=https://weak.example.com http http.cookieFile /tmp/cookie.txt http.sslverify false
ФАЙЛ КОНФИГУРАЦИИ
Файл конфигурации Git содержит ряд переменных, влияющих на поведение команд Git. Файлы .git/config и, возможно, config.worktree (см. раздел «ФАЙЛ КОНФИГУРАЦИИ» в git-worktree[1]) в каждом репозитории используются для хранения конфигурации для этого репозитория, а $HOME/.gitconfig используется для хранения общепользовательской конфигурации в качестве запасных значений для файла .git/config. Файл /etc/gitconfig можно использовать для хранения общесистемной конфигурации по умолчанию.
Переменные конфигурации используются как внутренними (plumbing) командами Git, так и высокоуровневыми (porcelain). Переменные разделены на разделы, причём полное имя переменной — это последний сегмент, разделённый точками, а имя раздела — всё, что находится перед последней точкой. Имена переменных не чувствительны к регистру, могут содержать только буквенно-цифровые символы и - и должны начинаться с буквы. Некоторые переменные могут встречаться несколько раз; в этом случае говорят, что переменная является многозначной.
Синтаксис
Синтаксис довольно гибкий и свободный. Пробельные символы, которыми в данном контексте являются символ пробела (SP) и горизонтальная табуляция (HT), в основном игнорируются. Символы # и ; начинают комментарии до конца строки. Пустые строки игнорируются.
Файл состоит из разделов и переменных. Раздел начинается с имени раздела в квадратных скобках и продолжается до начала следующего раздела. Имена разделов не чувствительны к регистру. В именах разделов разрешены только буквенно-цифровые символы, - и .. Каждая переменная должна принадлежать некоторому разделу, что означает, что перед первой установкой переменной должен быть заголовок раздела.
Разделы могут быть дополнительно разделены на подразделы. Чтобы начать подраздел, поместите его имя в двойные кавычки, отделённые пробелом от имени раздела, в заголовке раздела, как в примере ниже:
[раздел "подраздел"]
Имена подразделов чувствительны к регистру и могут содержать любые символы, кроме новой строки и нулевого байта. Двойные кавычки " и обратную косую черту можно включить, экранируя их как \" и \\ соответственно. Обратные косые черты перед другими символами отбрасываются при чтении; например, \t читается как t, а \0 читается как 0. Заголовки разделов не могут занимать несколько строк. Переменные могут принадлежать непосредственно разделу или данному подразделу. Вы можете иметь [раздел], если у вас есть [раздел "подраздел"], но это не обязательно.
Существует также устаревший синтаксис [раздел.подраздел]. При этом синтаксисе имя подраздела преобразуется в нижний регистр, а также сравнивается с учётом регистра. Эти имена подразделов подчиняются тем же ограничениям, что и имена разделов.
Все остальные строки (и остаток строки после заголовка раздела) распознаются как установка переменных в форме имя = значение (или просто имя, что является сокращением, означающим, что переменная является логической «true»). Имена переменных не чувствительны к регистру, могут содержать только буквенно-цифровые символы и - и должны начинаться с буквы.
Пробельные символы вокруг имени, = и значения отбрасываются. Внутренние пробельные символы внутри значения сохраняются дословно. Комментарии, начинающиеся с # или ; и продолжающиеся до конца строки, отбрасываются. Строка, определяющая значение, может быть продолжена на следующую строку, если завершить её обратной косой чертой (\); обратная косая черта и символы конца строки отбрасываются.
Если значение должно содержать начальные или конечные пробельные символы, оно должно быть заключено в двойные кавычки ("). Внутри двойных кавычек символы двойной кавычки (") и обратной косой черты (\) должны быть экранированы: используйте \" для " и \\ для \.
Распознаются следующие escape-последовательности (кроме \" и \\): \n для символа новой строки (NL), \t для горизонтальной табуляции (HT, TAB) и \b для backspace (BS). Другие escape-последовательности символов (включая восьмеричные escape-последовательности) недействительны.
Включает
Разделы include и includeIf позволяют включать директивы конфигурации из другого источника. Эти разделы ведут себя идентично друг другу, за исключением того, что разделы includeIf могут быть проигнорированы, если их условие не вычисляется как true; см. «Условные включения» ниже.
Вы можете включить файл конфигурации из другого, установив специальную переменную include.path (или includeIf.*.path) в имя файла, который должен быть включён. Переменная принимает имя пути в качестве значения и подвержена расширению тильды. Эти переменные могут быть заданы несколько раз.
Содержимое включаемого файла вставляется немедленно, как если бы оно было найдено в месте расположения директивы include. Если значение переменной является относительным путём, путь считается относительным к файлу конфигурации, в котором была найдена директива include. Примеры см. ниже.
Условные включения
Вы можете условно включить файл конфигурации из другого, установив переменную includeIf.<условие>.path в имя включаемого файла.
Условие начинается с ключевого слова, за которым следует двоеточие и некоторые данные, формат и значение которых зависят от ключевого слова. Поддерживаются следующие ключевые слова:
-
gitdir -
Данные, следующие за ключевым словом
gitdirи двоеточием, используются в качестве glob-шаблона. Если местоположение каталога .git соответствует шаблону, условие включения выполнено.Местоположение .git может быть автоматически обнаружено или получено из переменной среды
$GIT_DIR. Если репозиторий автоматически обнаружен через файл .git (например, из подмодулей или связанной рабочей копии), местоположением .git будет конечное местоположение каталога .git, а не то, где находится файл .git.Шаблон может содержать стандартные wildcard-символы glob и два дополнительных,
**/и/**, которые могут соответствовать нескольким компонентам пути. Подробности см. в gitignore[5]. Для удобства:-
Если шаблон начинается с
~/,~будет заменён содержимым переменной средыHOME. -
Если шаблон начинается с
./, он заменяется каталогом, содержащим текущий файл конфигурации. -
Если шаблон не начинается с
~/,./или/, автоматически добавляется**/. Например, шаблонfoo/barстановится**/foo/barи будет соответствовать/any/path/to/foo/bar. -
Если шаблон заканчивается на
/, автоматически добавляется**. Например, шаблонfoo/становитсяfoo/**. Другими словами, он соответствует "foo" и всему, что внутри, рекурсивно.
-
-
gitdir/i -
Это то же самое, что и
gitdir, за исключением того, что сопоставление выполняется без учёта регистра (например, в файловых системах, не чувствительных к регистру) -
onbranch -
Данные, следующие за ключевым словом
onbranchи двоеточием, интерпретируются как шаблон со стандартными wildcard-символами glob и двумя дополнительными,**/и/**, которые могут соответствовать нескольким компонентам пути. Если мы находимся в рабочей копии, где имя ветки, которая в данный момент переключена, соответствует шаблону, условие включения выполнено.Если шаблон заканчивается на
/, автоматически добавляется**. Например, шаблонfoo/становитсяfoo/**. Другими словами, он соответствует всем веткам, которые начинаются сfoo/. Это полезно, если ваши ветки организованы иерархически, и вы хотите применить конфигурацию ко всем веткам в этой иерархии. -
hasconfig:remote.*.url -
Данные, следующие за этим ключевым словом и двоеточием, интерпретируются как шаблон со стандартными wildcard-символами glob и двумя дополнительными,
**/и/**, которые могут соответствовать нескольким компонентам. При первом обнаружении этого ключевого слова остальная часть файлов конфигурации будет просканирована на наличие внешних URL-адресов (без применения каких-либо значений). Если существует хотя бы один внешний URL-адрес, соответствующий этому шаблону, условие включения выполнено.Файлы, включённые этой опцией (прямо или косвенно), не могут содержать внешние URL-адреса.
Обратите внимание, что в отличие от других условий includeIf, разрешение этого условия зависит от информации, которая ещё неизвестна на момент чтения условия. Типичный вариант использования — эта опция присутствует в конфигурации системного или глобального уровня, а внешний URL-адрес находится в конфигурации локального уровня; отсюда необходимость сканирования вперёд при разрешении этого условия. Чтобы избежать проблемы курицы и яйца, при которой потенциально включаемые файлы могут влиять на то, будут ли такие файлы включены, Git разрывает цикл, запрещая этим файлам влиять на разрешение этих условий (таким образом, запрещая им объявлять внешние URL-адреса).
Что касается наименования этого ключевого слова, оно предназначено для прямой совместимости со схемой именования, которая поддерживает больше условий включения на основе переменных, но в настоящее время Git поддерживает только точно описанное выше ключевое слово.
Ещё несколько замечаний о сопоставлении с помощью gitdir и gitdir/i:
-
Символические ссылки в
$GIT_DIRне разрешаются перед сопоставлением. -
Как версия пути с символической ссылкой, так и версия realpath будут сопоставлены вне
$GIT_DIR. Например, если ~/git является символической ссылкой на /mnt/storage/git, то иgitdir:~/git, иgitdir:/mnt/storage/gitбудут соответствовать.Это было не так в первоначальном выпуске этой функции в v2.13.0, который соответствовал только версии realpath. Конфигурация, которая хочет быть совместимой с первоначальным выпуском этой функции, должна указывать только версию realpath или обе версии.
-
Обратите внимание, что «../» не является специальным и будет сопоставляться буквально, что вряд ли вам нужно.
Пример
# Основные переменные [core] ; Не доверять режимам файлов filemode = false # Наш алгоритм сравнения [diff] external = /usr/local/bin/diff-wrapper renames = true [branch "devel"] remote = origin merge = refs/heads/devel # Настройки прокси [core] gitProxy="ssh" for "kernel.org" gitProxy=default-proxy ; для остальных [include] path = /path/to/foo.inc ; включить по абсолютному пути path = foo.inc ; найти «foo.inc» относительно текущего файла path = ~/foo.inc ; найти «foo.inc» в вашем каталоге `$HOME` ; включить, если $GIT_DIR — это /path/to/foo/.git [includeIf "gitdir:/path/to/foo/.git"] path = /path/to/foo.inc ; подключить для всех репозиториев внутри /path/to/group [includeIf "gitdir:/path/to/group/"] path = /path/to/foo.inc ; подключить для всех репозиториев внутри $HOME/to/group [includeIf "gitdir:~/to/group/"] path = /path/to/foo.inc ; относительные пути всегда отсчитываются от подключающего ; файла (если условие истинно); их расположение не ; зависит от условия [includeIf "gitdir:/path/to/group/"] path = foo.inc ; подключить только если мы находимся в рабочем дереве, где ; в данный момент извлечена ветка foo-branch [includeIf "onbranch:foo-branch"] path = foo.inc ; подключить только если существует удалённый репозиторий с данным URL (примечание: ; такой URL может быть указан позже в этом файле или в файле, ; прочитанном после этого, как показано в примере) [includeIf "hasconfig:remote.*.url:https://example.com/**"] path = foo.inc [remote "origin"] url = https://example.com/git
Значения
Значения многих переменных трактуются как простые строки, но есть переменные, принимающие значения определённых типов, и существуют правила их записи.
- логический
-
Когда говорится, что переменная принимает логическое значение, допускаются многие синонимы для true и false; все они нечувствительны к регистру.
- правда
-
Литералы для логического значения «истина»:
yes,on,trueи1. Также переменная, определённая без=<значение>, считается истинной. - ложь
-
Литералы для логического значения «ложь»:
no,off,false,0и пустая строка.При преобразовании значения в каноническую форму с помощью спецификатора типа
--type=boolкоманда git config гарантирует, что вывод будет "true" или "false" (в нижнем регистре).
- целое число
-
Значение для многих переменных, указывающих различные размеры, может иметь суффикс
k,M,… означающий "умножить число на 1024", "на 1024x1024" и т.д. - color
-
Значение для переменной, принимающей цвет, — это список цветов (не более двух, один для переднего плана и один для фона) и атрибутов (сколько угодно), разделённых пробелами.
Основные принимаемые цвета:
normal,black,red,green,yellow,blue,magenta,cyan,whiteиdefault. Первый указанный цвет — передний план; второй — фон. У всех основных цветов, кромеnormalиdefault, есть яркий вариант, который можно указать, добавив префиксbright, напримерbrightred.Цвет
normalне изменяет цвет. Он эквивалентен пустой строке, но может использоваться в качестве цвета переднего плана при указании только фонового цвета (например, "normal red").Цвет
defaultявно сбрасывает цвет к стандартному для терминала, например, чтобы указать очищенный фон. Хотя это зависит от терминала, обычно это не то же самое, что установка "white black".Цвета также могут быть заданы числами от 0 до 255; это использует режим ANSI 256-цветов (но учтите, что не все терминалы могут его поддерживать). Если ваш терминал поддерживает, вы также можете указать 24-битные значения RGB в шестнадцатеричном виде, например
#ff0ab3, или 12-битные значения RGB вроде#f1b, что эквивалентно 24-битному цвету#ff11bb.Принимаемые атрибуты:
bold(жирный),dim(тусклый),ul(подчёркивание),blink(мигание),reverse(инверсия),italic(курсив) иstrike(зачёркивание). Позиция атрибутов относительно цветов (до, после или между) не имеет значения. Конкретные атрибуты можно отключить, добавив префиксnoилиno-(например,noreverse,no-ulи т.д.).Псевдоатрибут
resetсбрасывает все цвета и атрибуты перед применением указанной раскраски. Например,resetgreenприведёт к зелёному переднему плану и стандартному фону без каких-либо активных атрибутов.Пустая цветовая строка не даёт никакого цветового эффекта. Это можно использовать, чтобы избежать раскраски определённых элементов, не отключая цвета полностью.
Для предопределённых цветовых слотов Git атрибуты должны сбрасываться в начале каждого элемента в цветном выводе. Поэтому установка
color.decorate.branchвblackокрасит имя ветки в простойblack, даже если предыдущий элемент на той же строке вывода (например, открывающая скобка перед списком имён веток в выводеlog--decorate) настроен на окраску с атрибутомboldили другим. Однако пользовательские форматы журнала могут использовать более сложную и слоистую раскраску, и там могут пригодиться отрицательные формы атрибутов. - pathname
-
Переменной, принимающей путь в качестве значения, можно передать строку, начинающуюся с "
~/" или "~user/", и для такой строки выполняется обычное тильда-раскрытие:~/раскрывается в значение$HOME, а~user/— в домашний каталог указанного пользователя.Если путь начинается с
%(prefix)/, оставшаяся часть интерпретируется как путь, относительный к "префиксу времени выполнения" Git, т.е. относительно места, где установлен сам Git. Например,%(prefix)/bin/ссылается на каталог, в котором находится исполняемый файл Git. Если Git был собран без поддержки префикса времени выполнения, будет подставлен встроенный префикс. В маловероятном случае, когда нужно указать буквальный путь, который не должен раскрываться, его нужно предварить./, например:./%(prefix)/bin.Если путь предварен
:(optional), конфигурационная переменная трактуется как несуществующая, если указанный путь не существует.
Переменные
Обратите внимание, что этот список не является исчерпывающим и не обязательно полным. Для переменных, специфичных для команд, вы найдёте более подробное описание в соответствующей странице руководства.
Другие инструменты, связанные с Git, могут и используют свои собственные переменные. При создании новых переменных для использования в своём инструменте убедитесь, что их имена не конфликтуют с теми, которые используются самим Git и другими популярными инструментами, и опишите их в своей документации.
-
add.ignoreErrors -
add.ignore-errors(устаревший) -
Даёт указание
git.addпродолжить добавление файлов в ситуации, когда не удалось добавить некоторые файлы из-за ошибок индексирования. Эквивалентно параметру--ignore-errorsgit-add[1].add.ignore-errorsсчитается устаревшим (deprecated), так как он не следует устоявшимся конвенциям наименования переменных конфигурации.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
branch.autoSetupMerge -
Указывает
gitbranch,gitswitchиgitcheckoutнастраивать новые ветки так, чтобы git-pull[1] соответствующим образом выполнял слияние из начальной ветки. Обратите внимание, что даже если этот параметр не установлен, это поведение можно выбрать для каждой ветки с помощью опций--trackи--no-track. Этот параметр по умолчанию имеет значениеtrue. Допустимые настройки:-
false -
автоматическая настройка не выполняется
-
true -
автоматическая настройка выполняется, когда начальная точка является отслеживаемой внешней веткой
-
always -
автоматическая настройка выполняется, когда начальная точка является либо локальной, либо отслеживаемой внешней веткой
-
inherit -
если начальная точка имеет конфигурацию отслеживания, она копируется в новую ветку
-
simple -
автоматическая настройка выполняется только в том случае, когда начальная точка является отслеживаемой внешней веткой и новая ветка имеет то же имя, что и внешняя ветка.
-
-
branch.autoSetupRebase -
Когда создаётся новая ветка с помощью
gitbranch,gitswitchилиgitcheckout, которая отслеживает другую ветку, эта переменная указывает Git настроить извлечение (pull) на перемещение (rebase) вместо слияния (merge) (см.branch.<имя>.rebase). Допустимые настройки:-
never -
rebase никогда не устанавливается автоматически в true.
-
local -
rebase устанавливается в true для отслеживаемых веток других локальных веток.
-
remote -
rebase установлен в true для отслеживаемых веток из отслеживаемых внешних веток.
-
always -
rebase будет установлен в true для всех отслеживаемых веток.
Подробности о настройке ветки для отслеживания другой ветки см. в
branch.autoSetupMerge. Этот параметр по умолчанию имеет значениеnever. -
-
branch.sort -
Эта переменная управляет порядком сортировки веток при отображении git-branch[1]. Если не указана опция
--sort=<значение>, значение этой переменной будет использоваться по умолчанию. Допустимые значения см. в названиях полей git-for-each-ref[1]. -
branch.<имя>.remote -
Находясь в ветке <имя>, указывает
gitfetchиgitpush, из какого внешнего репозитория получать или в какой отправлять. Внешний репозиторий для отправки может быть переопределён с помощьюremote.pushDefault(для всех веток). Внешний репозиторий для отправки для текущей ветки может быть дополнительно переопределён с помощьюbranch.<имя>.pushRemote. Если внешний репозиторий не настроен или если вы не находитесь ни в какой ветке и в репозитории определено более одного внешнего репозитория, по умолчанию для получения используетсяorigin, а для отправки —remote.pushDefault. Кроме того,.(точка) — это текущий локальный репозиторий (dot-репозиторий); см. последнее примечание кbranch.<имя>.mergeниже. -
branch.<имя>.pushRemote -
Находясь в ветке <имя>, переопределяет
branch.<имя>.remoteдля отправки. Он также переопределяетremote.pushDefaultдля отправки из ветки <имя>. Когда вы извлекаете (pull) из одного места (например, вашего вышестоящего (upstream) репозитория) и отправляете в другое (например, в свой собственный публичный репозиторий), вы захотите установитьremote.pushDefault, чтобы указать внешний репозиторий для отправки для всех веток, и использовать этот параметр, чтобы переопределить его для конкретной ветки. -
branch.<имя>.merge -
Определяет вместе с
branch.<имя>.remoteвышестоящую (upstream) ветку для данной ветки. Он сообщаетgitfetch/gitpull/gitrebase, какую ветку сливать (merge), и также может влиять наgitpush(см.push.default). Находясь в ветке <имя>, он сообщаетgitfetchспецификатор ссылки по умолчанию, который должен быть помечен для слияния вFETCH_HEAD. Значение обрабатывается как внешняя часть спецификатора ссылки и должно соответствовать ссылке, которая извлекается из внешнего репозитория, указанного вbranch.<имя>.remote. Информация о слиянии используетсяgitpull(который сначала вызываетgitfetch) для поиска ветки по умолчанию для слияния. Без этой опцииgitpullпо умолчанию сливает первый полученный спецификатор ссылки. Укажите несколько значений, чтобы получить слияние octopus. Если вы хотите настроитьgitpullтак, чтобы он сливался в <имя> из другой ветки в локальном репозитории, вы можете указатьbranch.<имя>.mergeна нужную ветку и использовать настройку относительного пути.(точка) дляbranch.<имя>.remote. -
branch.<имя>.mergeOptions -
Устанавливает параметры по умолчанию для слияния в ветку <имя>. Синтаксис и поддерживаемые параметры такие же, как в git-merge[1], но значения параметров, содержащие пробельные символы, в настоящее время не поддерживаются.
-
branch.<имя>.rebase -
Если true, переместить (rebase) ветку <имя> поверх полученной ветки вместо слияния ветки по умолчанию из внешнего репозитория по умолчанию при выполнении
gitpull. См.pull.rebaseдля выполнения этого неспецифичным для ветки способом.При значении
merges(или простоm) передайте параметр--rebase-mergesвgitrebase, чтобы локальные коммиты слияния были включены в перемещение (см. подробности в git-rebase[1]).Когда значение равно
interactive(или простоi), перемещение выполняется в интерактивном режиме.ПРИМЕЧАНИЕ: это потенциально опасная операция; не используйте её, если вы не понимаете последствий (подробности см. в git-rebase[1]).
-
branch.<имя>.description -
Описание ветки, можно редактировать с помощью
gitbranch--edit-description. Описание ветки автоматически добавляется в сопроводительное письмоformat-patchили сводкуrequest-pull.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
checkout.defaultRemote -
Когда вы запускаете
gitcheckout<что-то> илиgitswitch<что-то> и у вас есть только один внешний репозиторий, он может неявно переключиться на отслеживание, например,origin/<что-то>. Это перестаёт работать, как только у вас появляется более одного внешнего репозитория со ссылкой <что-то>. Этот параметр позволяет задать имя предпочтительного внешнего репозитория, который всегда должен побеждать при разрешении неоднозначности. Типичный вариант использования — установить это значение вorigin.В настоящее время это используется git-switch[1] и git-checkout[1], когда
gitcheckout<что-то> илиgitswitch<что-то> будет переключаться на ветку <что-то> в другом внешнем репозитории, и git-worktree[1], когдаgitworktreeaddссылается на внешнюю ветку. Этот параметр может использоваться для других команд или функций, подобных переключению (checkout), в будущем. -
checkout.guess -
Предоставляет значение по умолчанию для опции
--guessили--no-guessвgitcheckoutиgitswitch. См. git-switch[1] и git-checkout[1]. -
checkout.workers -
Количество параллельных рабочих процессов, используемых при обновлении рабочего каталога. По умолчанию — один, т.е. последовательное выполнение. Если установлено значение меньше единицы, Git будет использовать столько рабочих процессов, сколько доступно логических ядер. Этот параметр и
checkout.thresholdForParallelismвлияют на все команды, выполняющие переключение (checkout). Например, checkout, clone, reset, sparse-checkout и т.д.NoteПараллельное переключение обычно обеспечивает лучшую производительность для репозиториев, расположенных на SSD или через NFS. Для репозиториев на вращающихся дисках и/или машинах с небольшим количеством ядер, последовательное переключение по умолчанию часто работает лучше. Размер и уровень сжатия репозитория также могут влиять на то, насколько хорошо работает параллельная версия. -
checkout.thresholdForParallelism -
При выполнении параллельного переключения с небольшим количеством файлов затраты на порождение подпроцессов и межпроцессное взаимодействие могут перевесить выигрыш от распараллеливания. Этот параметр позволяет вам определить минимальное количество файлов, для которых следует пытаться выполнить параллельное переключение. По умолчанию 100.
|
Warning
|
Missing See original version for this content. |
-
clone.defaultRemoteName -
Имя, которое будет использоваться для удалённого репозитория при его клонировании. По умолчанию:
origin. Его можно переопределить, передав git-clone[1] параметр командной строки--origin. -
clone.rejectShallow -
Отказаться от клонирования репозитория, если он является частичным (shallow); это поведение можно переопределить, передав параметр командной строки
--reject-shallow. См. git-clone[1]. -
clone.filterSubmodules -
Если задан фильтр частичного клонирования (см.
--filterв git-rev-list[1]) и используется--recurse-submodules, то применять фильтр также и к подмодулям.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
commit.cleanup -
Этот параметр переопределяет значение по умолчанию опции
--cleanupвgitcommit. See git-commit[1] for details. Изменение значения по умолчанию может быть полезно, если вы всегда хотите оставлять строки, начинающиеся с символа комментария (core.commentChar, по умолчанию#), в вашем сообщении журнала, и в этом случае вы сделаетеgitconfigcommit.cleanupwhitespace(обратите внимание, что вам придётся самостоятельно удалять строки помощи, начинающиеся с символа комментария, в шаблоне сообщения коммита, если вы это сделаете). -
commit.gpgSign -
Логическое значение, указывающее, должны ли все коммиты подписываться с помощью GPG. Использование этого параметра при выполнении таких операций как перемещение на другую ветку (rebase), может привести к тому, что подпись потребуется сразу большому количеству коммитов. Так что дабы избежать необходимости вводить пароль GPG по несколько раз, может быть удобно использовать GPG-агент.
-
commit.status -
Логическое значение, для включения/отключения вывода информации о состоянии в шаблоне сообщения коммита при использовании редактора для подготовки сообщения. По умолчанию:
true. -
commit.template -
Указывает путь к файлу, который будет использоваться в качестве шаблона для новых сообщений коммитов.
-
commit.verbose -
Логическое или целочисленное значение, задающее уровень подробностей, добавляемых
gitcommitв шаблон сообщений коммитов. See git-commit[1] for details.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
diff.autoRefreshIndex -
При использовании
gitdiffдля сравнения с файлами в рабочем каталоге не учитывать изменения, касающиеся только stat-информации файлов. Вместо этого выполняется командаgitupdate-index--refreshдля обновления кэшированной stat-информации о путях, содержимое которых в рабочем каталоге совпадает с содержимым в индексе. Эта переменная по умолчанию установлена в значениеtrue. Обратите внимание, что это влияет только на высокоуровневую командуgitdiff, но не на команды сравнения более низкого уровня, такие какgitdiff-files. -
diff.dirstat -
Список аргументов
--dirstat, разделённых запятыми, которые определяют поведение по умолчанию параметра--dirstatкоманды git-diff[1] и других ей аналогичных. Аргументы по умолчанию можно переопределить в командной строке (с помощью--dirstat=<аргумент>,...). Аргументы по умолчанию (когда переменнаяdiff.dirstatне изменена):changes,noncumulative,3. Допустимые аргументы:-
changes -
Подсчитывать количество строк, которые были удалены или добавлены. Этот алгоритм игнорирует чистые перемещения кода внутри файла. Другими словами, строки перемещённые внутри файла без изменений не учитываются в отличии от других правок. Это поведение по умолчанию, когда аргумент не указан.
-
lines -
Подсчитывает количество строк с использованием обычного алгоритма поиска изменений, основываясь на строках и суммируя количество удалённых/добавленных строк. (Для бинарных файлов подсчитываются 64-байтовые блоки, так как у них нет естественного понятия «строк»). Это более затратный алгоритм работы
--dirstat, чемchanges, но он учитывает переставленные строки внутри файла так же, как и другие изменения. Вывод с этим алгоритмом лучше согласуется с теми данными, которые вы получаете от других параметров--*stat. -
files -
Подсчитывает количество изменённых файлов. При анализе каждый изменённый файл учитывается в равной степени. Это наиболее экономичный алгоритм
--dirstat, так как он не требует просмотра содержимого файлов. -
cumulative -
Для родительского каталога также учитывает изменения в дочерних подкаталогах. Обратите внимание, что при использовании
cumulativeсумма процентов может превышать 100%. Поведение по умолчанию (некумулятивное) можно задать с помощью аргументаnoncumulative. - <предел>
-
При использовании целочисленного значения в качестве аргумента, оно задаёт пороговое значение (по умолчанию 3%). Каталоги, изменения в которых составляют меньшую часть от общего числа изменений, чем указанный процент, не отображаются в выводе.
Пример: Следующая команда будет подсчитывать какую долю составляют файлы, которые были изменены в каждом конкретном каталоге, при этом игнорируя каталоги, на которые приходится менее 10% изменённых файлов и считая изменения в дочерних каталогов, как часть изменений в родительских:
files,10,cumulative. -
-
diff.statNameWidth -
Ограничивает длину имени файла (или его части) в выводе
--stat. Если установлено, применяется ко всем командам, генерирующим вывод--stat, кромеformat-patch. -
diff.statGraphWidth -
Ограничивает длину «графической» части в выводе
--stat. Если установлено, применяется ко всем командам, генерирующим вывод--stat, кромеformat-patch. -
diff.context -
Генерировать списки изменений с <n> строками контекста вместо стандартных 3. Это значение переопределяется параметром
-U. -
diff.interHunkContext -
Показывать до указанного количества строк в качестве контекста между отдельными блоками списков изменений, тем самым объединяя те блоки, которые находятся рядом друг с другом. Эта переменная задаёт значение по умолчанию для параметра командной строки
--inter-hunk-context. -
diff.external -
Если эта переменная конфигурации установлена, то списки изменений создаются не с помощью внутренней реализации Git, а с помощью указанной команды. Эта команда может быть переопределена переменной окружения
GIT_EXTERNAL_DIFF. Команда вызывается с параметрами, описанными в разделе «Утилита сравнения Git» в git[1]. Примечание: если вы хотите использовать стороннюю утилиту сравнения только для некоторого подмножества файлов, то вместо этой переменной вы, возможно, захотите использовать gitattributes[5]. -
diff.trustExitCode -
Если это логическое значение установлено в
true, то ожидается, что командаdiff.externalбудет завершаться с кодом0, если она считает переданные ей файлы равными, или1, если разными, как это делаетdiff(1). Если оно установлено вfalse, что является значением по умолчанию, то ожидается, что эта команда будет завершаться с кодом0независимо от того, различаются ли файлы или нет. При завершении с любым другим кодом Git будет сообщать о фатальной ошибке. -
diff.ignoreSubmodules -
Устанавливает значение по умолчанию для
--ignore-submodules. Обратите внимание, что это влияет только на высокоуровневую командуgitdiff, но не на команды сравнения более низкого уровня, такие какgitdiff-files. Командыgitcheckoutиgitswitchтакже уважают значение этой переменной при выводе списка незафиксированных изменений. Установка этой переменной в значениеallотключает вывод сводки изменений в подмодулях, которую обычно показываютgitcommitиgitstatus, если переменная конфигурацииstatus.submoduleSummaryустановлена, если конечно это значение не переопределено в командной строке с помощью--ignore-submodules. На подкомандыgitsubmoduleэта переменная не влияет. По умолчанию она установлена в значениеuntracked, дабы любые неотслеживаемые подмодули игнорировались. -
diff.mnemonicPrefix -
Если установлена, вместо стандартной пары префиксов
a/иb/командаgitdiffбудет использовать особую пару в зависимости от того, что сравнивается. Когда это включено, при выводе списка обратных изменений эти префиксы будут также идти в обратном порядке:-
gitdiff -
сравнивает индекс (
i, index) и рабочую копию (w, work tree); -
gitdiffHEAD -
сравнивает коммит (
c, commit) и рабочую копию (w, work tree); -
gitdiff--cached -
сравнивает коммит (
c, commit) и индекс (i, index); -
gitdiffHEAD:<файл1> <файл2> -
сравнивает объект (
o, object) и рабочую копию (w, work tree); -
gitdiff--no-index<a> <b> -
сравнивает две сущности не имеющие отношения к Git <a> и <b>.
-
-
diff.noPrefix -
Если установлена,
gitdiffне выводит никаких исходных или целевых префиксов. -
diff.srcPrefix -
Если установлена,
gitdiffиспользует данное значение в качестве исходного префикса. По умолчанию:a/. -
diff.dstPrefix -
Если установлена,
gitdiffиспользует данное значение в качестве целевого префикса. По умолчанию:b/. -
diff.relative -
Если установлена в
true,gitdiffне показывает изменения вне текущего каталога и показывает пути относительно текущего каталога. -
diff.orderFile -
Файл, задающий в каком порядке должны идти файлы в списке изменений. См. подробности в описании параметра
-Oкоманды git-diff[1]. Еслиdiff.orderFileявляется относительным путём, то он рассматривается как путь относительно корня рабочего каталога. -
diff.renameLimit -
Количество файлов, которые следует рассматривать, когда поиск копирований/переименований переходит в свою «исчерпывающую» стадию; эквивалентно параметру
-lкомандыgitdiff. Если переменная не установлена, то на данный момент значение по умолчанию равно 1000. Эта переменная не имеет эффекта, если поиск переименований отключён. -
diff.renames -
Должен ли Git пытаться найти переименования файлов и если да, то как именно. При значении
false, обнаружение переименований отключено. При значенииtrue, включён базовый поиск переименований. При значенииcopiesилиcopy, Git также ищет копии. Значение по умолчанию установлено вtrue. Обратите внимание, что это влияет только на высокоуровневую команду git-diff[1] и git-log[1], но не на команды сравнения более низкого уровня, такие как git-diff-files[1]. -
diff.suppressBlankEmpty -
Логическое значение, указывающее, что не нужно выводить пробел на пустых строках (что является стандартным поведением). По умолчанию установлено в
false. -
diff.submodule -
Указывает формат, в котором отображаются различия в подмодулях. В формате
shortвыводятся только имена коммитов в начале и конце диапазона. В форматеlogперечисляются коммиты в диапазоне, как вsummaryв git-submodule[1] . Форматdiffпоказывает встроенный список изменений содержимого подмодуля. Значение по умолчанию:short. -
diff.wordRegex -
Расширенное регулярное выражение POSIX, которое определяет, что является «словом», при построении пословного списка изменений. Последовательности символов, которые сопоставляются этому регулярному выражению, являются «cловами», все остальные символы считаются пробельными символами, которые могут быть проигнорированы.
-
diff.<драйвер>.command -
Команда драйвера пользовательской утилиты сравнения. См. подробности в gitattributes[5].
-
diff.<драйвер>.trustExitCode -
Если это логическое значение установлено в
true, то ожидается, что командаdiff.<драйвер>.commandбудет завершаться с кодом0, если она считает переданные ей файлы равными, или1, если разными, как это делаетdiff(1). Если оно установлено вfalse, что является значением по умолчанию, то ожидается, что эта команда будет завершаться с кодом0независимо от того, различаются ли файлы или нет. При завершении с любым другим кодом Git будет сообщать о фатальной ошибке. -
diff.<драйвер>.xfuncname -
Регулярное выражение, которое драйвер утилиты сравнения должен использовать для распознавания заголовка блока списка изменений. В качестве значения также может использоваться один из встроенных шаблонов. См. подробности в gitattributes[5].
-
diff.<драйвер>.binary -
Установите эту переменную конфигурации в значение
true, чтобы драйвер утилиты сравнения обрабатывал файлы как двоичные. См. подробности в gitattributes[5]. -
diff.<драйвер>.textconv -
Команда, которую драйвер утилиты сравнения должен вызвать для генерации текстовой версии файла. Результат преобразования используется для создания списка изменений в виде удобоваримом для чтения человеком. См. подробности в gitattributes[5].
-
diff.<драйвер>.wordRegex -
Регулярное выражение, которое драйвер утилиты сравнения должен использовать для разделения слов в строке. См. подробности в gitattributes[5].
-
diff.<драйвер>.cachetextconv -
Установите эту переменную конфигурации в значение
true, чтобы драйвер утилиты сравнения кэшировал результаты преобразования текста. См. подробности в gitattributes[5]. -
diff.indentHeuristic -
Установите эту переменную конфигурации в значение
false, чтобы отключить стандартные эвристики, которые сдвигают границы блоков списков изменений, дабы патчи были более читаемыми. -
diff.algorithm -
Выберите алгоритм для получения списка изменений. Доступны следующие варианты:
-
default -
myers -
Базовый жадный алгоритм, используемый в стандартной утилите сравнения (
diff). В настоящее время это значение по умолчанию. -
minimal -
Потратить дополнительное время, чтобы гарантировать, что будет сгенерирован минимально возможный список изменений.
-
patience -
Используйте «терпеливый» алгоритм сравнения (patience diff) для генерации патчей.
-
histogram -
Этот алгоритм расширяет «терпеливый» алгоритм так, что он «поддерживает общие элементы с низкой частотой встречаемости».
-
-
diff.wsErrorHighlight -
Выделять цветом ошибки в пробелах в контекстных (
context), старых (old) или новых (new) строках списков изменений. Допустимо несколько значений, разделённых запятыми;noneсбрасывает предыдущие значения,defaultсбрасывает список доnew, аall— это сокращение дляold,new,context. Ошибки в пробельных символах будут выделяться с помощьюcolor.diff.whitespace. Параметр командной строки--ws-error-highlight=<тип> переопределяет эту переменную конфигурации. -
diff.colorMoved -
Если в качестве значения этой переменной установлено допустимый <режим> или «
true», перемещённые строки в списке изменений будут выделяться другим цветом. Подробности о допустимых режимах см. в описании параметра--color-movedкоманды git-diff[1]. Если в качестве значения установлено простоtrue, будет использован режим выделения по умолчанию. Если установленоfalse, перемещённые строки не выделяются. -
diff.colorMovedWS -
Когда перемещённые строки выделяются цветом, например при установке
diff.colorMoved, эта переменная конфигурации задаёт режим, в котором должный обрабатываться пробелы. Подробности о допустимых режимов см. в описании параметра--color-moved-wsкоманды git-diff[1].
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
fetch.recurseSubmodules -
Этот параметр управляет тем, будет ли
gitfetch(и базовое получение вgitpull) рекурсивно получать данные в заполненные подмодули. Этот параметр может быть установлен либо в логическое значение, либо вon-demand. Установка в логическое значение изменяет поведение получения и извлечения на безусловную рекурсию в подмодули, если установлено true, или на отсутствие рекурсии вообще, если установлено false. При установке вon-demandполучение и извлечение будут рекурсивно заходить в заполненный подмодуль только тогда, когда его суперпроект получает коммит, обновляющий ссылку подмодуля. По умолчаниюon-demandили значениеsubmodule.recurse, если оно установлено. -
fetch.fsckObjects -
Если установлено в true, git-fetch-pack будет проверять все полученные объекты. Что именно проверяется, см. в
transfer.fsckObjects. По умолчаниюfalse. Если не установлено, вместо этого используется значениеtransfer.fsckObjects. -
fetch.fsck.<msg-id> -
Действует как
fsck.<msg-id>, но используется git-fetch-pack[1] вместо git-fsck[1]. Подробности см. в документацииfsck.<msg-id>. -
fetch.fsck.skipList -
Действует как
fsck.skipList, но используется git-fetch-pack[1] вместо git-fsck[1]. Подробности см. в документацииfsck.skipList. -
fetch.unpackLimit -
Если количество объектов, полученных по собственному протоколу Git, ниже этого предела, объекты будут распакованы в непакованные (loose) файлы объектов. Однако если количество полученных объектов равно или превышает этот предел, полученный pack-файл будет сохранён как pack-файл после добавления любых недостающих баз дельт. Сохранение pack-файла из отправки может ускорить выполнение операции отправки, особенно на медленных файловых системах. Если не установлено, вместо этого используется значение
transfer.unpackLimit. -
fetch.prune -
Если true, получение будет автоматически вести себя так, как если бы в командной строке была указана опция
--prune. См. такжеremote.<имя>.pruneи раздел ПОДЧИСТКА (PRUNING) в git-fetch[1]. -
fetch.pruneTags -
Если true, получение будет автоматически вести себя так, как если бы спецификатор ссылки
refs/tags/*:refs/tags/*был предоставлен при подчистке, если он ещё не установлен. Это позволяет установить как эту опцию, так иfetch.pruneдля поддержания сопоставления 1:1 с вышестоящими (upstream) ссылками. См. такжеremote.<имя>.pruneTagsи раздел ПОДЧИСТКА (PRUNING) в git-fetch[1]. -
fetch.all -
Если true, получение попытается обновить все доступные внешние репозитории. Это поведение можно переопределить, передав
--no-allили явно указав один или несколько внешних репозиториев для получения. По умолчаниюfalse. -
fetch.output -
Управляет тем, как печатается статус обновления ссылок. Допустимые значения:
fullиcompact. Значение по умолчанию:full. Подробности см. в разделе OUTPUT в git-fetch[1]. -
fetch.negotiationAlgorithm -
Управляет тем, как отправляется информация о коммитах в локальном репозитории при согласовании содержимого pack-файла, который будет отправлен сервером. Установите
consecutive, чтобы использовать алгоритм, который проходит по последовательным коммитам, проверяя каждый. Установитеskipping, чтобы использовать алгоритм, который пропускает коммиты в попытке сойтись быстрее, но может привести к созданию pack-файла большего, чем необходимо; или установитеnoop, чтобы вообще не отправлять никакую информацию, что почти наверняка приведёт к созданию pack-файла большего, чем необходимо, но пропустит этап согласования. Установитеdefault, чтобы переопределить ранее сделанные настройки и использовать поведение по умолчанию. Обычно по умолчанию используетсяconsecutive, но еслиfeature.experimentalравноtrue, то по умолчанию используетсяskipping. Неизвестные значения приведут к ошибкеgitfetch.См. также опции
--negotiate-onlyи--negotiation-tipв git-fetch[1]. -
fetch.showForcedUpdates -
Установите в
false, чтобы включить--no-show-forced-updatesв командах git-fetch[1] и git-pull[1]. По умолчаниюtrue. -
fetch.parallel -
Указывает максимальное количество операций получения, выполняемых параллельно за раз (подмодули или внешние репозитории, когда действует опция
--multipleкоманды git-fetch[1]).Значение 0 даст некоторое разумное значение по умолчанию. Если не установлено, по умолчанию используется 1.
Для подмодулей этот параметр можно переопределить с помощью настройки конфигурации
submodule.fetchJobs. -
fetch.writeCommitGraph -
Установите true, чтобы записывать граф коммитов после каждой команды
gitfetch, которая загружает pack-файл из внешнего репозитория. При использовании опции--splitбольшинство выполнений создадут очень маленький файл графа коммитов поверх существующего(их) файла(ов) графа коммитов. Иногда эти файлы будут сливаться, и запись может занять больше времени. Наличие обновлённого файла графа коммитов повышает производительность многих команд Git, включаяgitmerge-base,gitpush-fиgitlog--graph. По умолчаниюfalse. -
fetch.bundleURI -
Это значение хранит URI для загрузки данных объектов Git из bundle URI перед выполнением инкрементального получения с исходного Git-сервера. Это похоже на то, как ведёт себя опция
--bundle-uriв git-clone[1].gitclone--bundle-uriустановит значениеfetch.bundleURI, если предоставленный bundle URI содержит список пакетов, организованный для инкрементальных получений.Если вы изменяете это значение и в вашем репозитории есть значение
fetch.bundleCreationToken, удалите это значениеfetch.bundleCreationTokenперед получением из нового bundle URI. -
fetch.bundleCreationToken -
При использовании
fetch.bundleURIдля инкрементального получения из списка пакетов, использующего эвристику «creationToken», это значение конфигурации хранит максимальное значениеcreationTokenзагруженных пакетов. Это значение используется для предотвращения загрузки пакетов в будущем, если объявленныйcreationTokenне строго больше этого значения.Значения токенов создания выбираются поставщиком, обслуживающим конкретный bundle URI. Если вы изменяете URI в
fetch.bundleURI, обязательно удалите значениеfetch.bundleCreationTokenперед получением.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
init.templateDir -
Задаёт каталог, из которого будут копироваться шаблоны. (See the "TEMPLATE DIRECTORY" section of git-init[1].)
-
init.defaultBranch -
Позволяет переопределить имя ветки по умолчанию, которое, например, используется при инициализации нового репозитория.
-
init.defaultObjectFormat -
Позволяет переопределить формат объектов по умолчанию для новых репозиториев. См.
--object-format=в git-init[1]. Как этот параметр командной строки, так и переменная средыGIT_DEFAULT_HASHявляются более приоритетными, чем данная переменная конфигурации. -
init.defaultRefFormat -
Позволяет переопределить формат хранения ссылок по умолчанию для новых репозиториев. См.
--ref-format=в git-init[1]. Как этот параметр командной строки, так и переменная средыGIT_DEFAULT_REF_FORMATявляются более приоритетными, чем данная переменная конфигурации. - init.defaultSubmodulePathConfig
-
Логическое значение, указывающее, должны ли
gitinitиgitcloneавтоматически устанавливатьextensions.submodulePathConfigвtrue. Это позволяет всем новым репозиториям автоматически использовать расширение пути подмодуля. По умолчанию, если не задано, равноfalse.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
log.abbrevCommit -
Если
true, заставить git-log[1], git-show[1] и git-whatchanged[1] подразумевать--abbrev-commit. Вы можете переопределить эту опцию с помощью--no-abbrev-commit. -
log.date -
Установить режим даты-времени по умолчанию для команды
log. Установка значения для log.date аналогична использованию опции--dateвgitlog. Подробности см. в git-log[1].Если для формата установлено значение "auto:foo" и используется пейджер, для формата даты будет использоваться формат "foo". В противном случае будет использоваться "default".
-
log.decorate -
Выводить имена ссылок любых коммитов, показываемых командой log. Возможные значения:
Это то же самое, что и параметр
--decorateвgitlog. -
log.initialDecorationSet -
По умолчанию
gitlogпоказывает оформление только для определённых известных пространств имён ссылок. Если указано all, то показывать все ссылки как оформление. -
log.excludeDecoration -
Исключить указанные шаблоны из украшений журнала. Это похоже на опцию командной строки
--decorate-refs-exclude, но опция конфигурации может быть переопределена опцией--decorate-refs. -
log.diffMerges -
Устанавливает формат сравнения, используемый при указании
--diff-merges=on; подробности см. в--diff-mergesв git-log[1]. По умолчаниюseparate. -
log.follow -
Если
true,gitlogбудет вести себя так, как если бы была использована опция--follow, когда указан один <путь>. Это имеет те же ограничения, что и--follow, т.е. его нельзя использовать для отслеживания нескольких файлов, и он плохо работает с нелинейной историей. -
log.graphColors -
Список цветов, разделённых запятыми, которые можно использовать для рисования линий истории в
gitlog--graph. -
log.showRoot -
Если true, начальный коммит будет показан как большое событие создания. Это эквивалентно сравнению с пустым деревом. Инструменты, такие как git-log[1] или git-whatchanged[1], которые обычно скрывают корневой коммит, теперь будут его показывать. По умолчанию true.
-
log.showSignature -
Если true, заставляет git-log[1], git-show[1] и git-whatchanged[1] подразумевать
--show-signature. -
log.mailmap -
Если true, заставляет git-log[1], git-show[1] и git-whatchanged[1] подразумевать
--use-mailmap, в противном случае подразумевать--no-use-mailmap. По умолчанию true.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
merge.conflictStyle -
Определяет стиль, в котором конфликтные блоки записываются в файлы рабочего дерева при слиянии. По умолчанию используется «merge», который показывает маркер конфликта <<<<<<<, изменения одной стороны, маркер
=======, изменения другой стороны и затем маркер >>>>>>>. Альтернативный стиль «diff3» добавляет маркер ||||||| и исходный текст перед маркером=======. Стиль «merge» обычно создаёт меньшие области конфликта, чем «diff3», как из-за исключения исходного текста, так и потому, что когда подмножество строк совпадает с обеих сторон, они просто выносятся из области конфликта. Ещё один альтернативный стиль, «zdiff3», похож на «diff3», но удаляет совпадающие строки с обеих сторон из области конфликта, когда эти совпадающие строки появляются ближе к началу или концу области конфликта. -
merge.defaultToUpstream -
Если merge вызывается без аргумента коммита, выполняется слияние вышестоящих веток, настроенных для текущей ветки, с использованием их последних наблюдаемых значений, сохранённых в их удалённых отслеживающих ветках. Используются значения branch.<текущая ветка>.merge, которые называют ветки в удалённом репозитории, указанном в branch.<текущая ветка>.remote, а затем они отображаются через
remote.<удалённый>.fetchв соответствующие удалённые отслеживающие ветки, и концы этих отслеживающих веток сливаются. По умолчанию true. -
merge.ff -
По умолчанию Git не создаёт дополнительный коммит слияния при слиянии коммита, являющегося потомком текущего коммита. Вместо этого конец текущей ветки перемещается вперёд (fast-forward). При установке в
falseэта переменная указывает Git создать дополнительный коммит слияния в таком случае (эквивалентно передаче опции--no-ffиз командной строки). При установке вonlyразрешены только такие быстрые слияния (эквивалентно передаче параметра--ff-onlyиз командной строки). -
merge.verifySignatures -
Если true, это эквивалентно опции командной строки
--verify-signatures. Подробности см. в git-merge[1]. -
merge.branchdesc -
Помимо имён веток, заполнять сообщение журнала текстом описания веток, связанных с ними. По умолчанию false.
-
merge.log -
Помимо имён веток, заполнять сообщение журнала не более чем указанным количеством однострочных описаний из фактических коммитов, которые сливаются. По умолчанию false, а true является синонимом 20.
-
merge.suppressDest -
Добавляя glob, соответствующий именам веток интеграции, в эту многозначную конфигурационную переменную, стандартное сообщение о слиянии, вычисляемое для слияний в эти ветки интеграции, будет опускать "into <имя-ветки>" из своего заголовка.
Элемент с пустым значением можно использовать для очистки списка glob-ов, накопленных из предыдущих записей конфигурации. Когда переменная
merge.suppressDestне определена, для обратной совместимости используется значение по умолчаниюmaster.
-
merge.renameLimit -
Количество файлов для рассмотрения в исчерпывающей части обнаружения переименований во время слияния. Если не указано, по умолчанию используется значение
diff.renameLimit. Если не указаны ниmerge.renameLimit, ниdiff.renameLimit, в настоящее время по умолчанию используется 7000. Этот параметр не действует, если обнаружение переименований отключено. -
merge.renames -
Должен ли Git находить переименования. При значении
falseобнаружение переименований отключено. При значенииtrueвключено базовое обнаружение переименований. По умолчанию используется значение diff.renames. -
merge.directoryRenames -
Должен ли Git находить переименования каталогов. Влияет на обработку новых файлов, добавленных в каталог на одной стороне истории, когда этот каталог был переименован на другой стороне истории, во время слияния. Возможные значения:
Если
merge.renamesравноfalse,merge.directoryRenamesигнорируется и трактуется какfalse. По умолчаниюconflict. -
merge.renormalize -
Сообщает Git, что каноническое представление файлов в репозитории со временем изменилось (например, ранние коммиты записывают текстовые файлы с окончаниями строк CRLF, а более поздние используют LF). В таком репозитории для каждого файла, требующего трёхстороннего слияния содержимого, Git может преобразовать данные, записанные в коммитах, в каноническую форму перед выполнением слияния, чтобы уменьшить количество ненужных конфликтов. Для получения дополнительной информации см. раздел «Слияние веток с различными атрибутами checkin/checkout» в gitattributes[5].
-
merge.stat -
Определяет, что печатать (если вообще что-либо) между
ORIG_HEADи результатом слияния в конце процесса слияния. Возможные значения:но любое нераспознанное значение (например, добавленное будущей версией Git) трактуется как
true, а не вызывает ошибку. По умолчаниюtrue. -
merge.autoStash -
При значении
trueавтоматически создаёт временную запись stash перед началом операции и применяет её после завершения операции. Это позволяет выполнять слияние на грязном рабочем дереве. Однако используйте с осторожностью: финальное применение stash после успешного слияния может привести к непростым конфликтам. Эту опцию можно переопределить с помощью опций--no-autostashи--autostashкоманды git-merge[1]. По умолчаниюfalse. -
merge.tool -
Управляет тем, какой инструмент слияния используется git-mergetool[1]. Список ниже показывает допустимые встроенные значения. Любое другое значение трактуется как пользовательский инструмент слияния и требует определения соответствующей переменной
mergetool.<инструмент>.cmd. -
merge.guitool -
Управляет тем, какой инструмент слияния используется git-mergetool[1] при указании флага
-g/--gui. Список ниже показывает допустимые встроенные значения. Любое другое значение трактуется как пользовательский инструмент слияния и требует определения соответствующей переменнойmergetool.<guitool>.cmd.
|
Warning
|
Missing See original version for this content. |
-
merge.verbosity -
Управляет объёмом вывода, показываемого рекурсивной стратегией слияния. Уровень 0 не выводит ничего, кроме финального сообщения об ошибке, если обнаружены конфликты. Уровень 1 выводит только конфликты, 2 — конфликты и изменения файлов. Уровень 5 и выше выводит отладочную информацию. По умолчанию используется уровень 2. Может быть переопределено переменной окружения
GIT_MERGE_VERBOSITY. -
merge.<драйвер>.name -
Определяет человекопонятное имя для пользовательского низкоуровневого драйвера слияния. Подробности см. в gitattributes[5].
-
merge.<драйвер>.driver -
Определяет команду, реализующую пользовательский низкоуровневый драйвер слияния. Подробности см. в gitattributes[5].
-
merge.<драйвер>.recursive -
Указывает низкоуровневый драйвер слияния, который будет использоваться при выполнении внутреннего слияния между общими предками. Подробности см. в gitattributes[5].
-
mergetool.<инструмент>.path -
Переопределить путь для указанного инструмента. Это полезно, если ваш инструмент не находится в
$PATH. -
mergetool.<инструмент>.cmd -
Указывает команду для вызова указанного инструмента слияния. Указанная команда выполняется в оболочке со следующими доступными переменными:
BASE— имя временного файла, содержащего общую базу файлов для слияния, если доступно;LOCAL— имя временного файла, содержащего содержимое файла в текущей ветке;REMOTE— имя временного файла, содержащего содержимое файла из ветки, с которой выполняется слияние;MERGEDсодержит имя файла, в который инструмент слияния должен записать результаты успешного слияния. -
mergetool.<инструмент>.hideResolved -
Позволяет пользователю переопределить глобальное значение
mergetool.hideResolvedдля конкретного инструмента. Полное описание см. вmergetool.hideResolved. -
mergetool.<инструмент>.trustExitCode -
Для пользовательской команды слияния укажите, можно ли использовать код завершения команды слияния для определения успешности слияния. Если это не установлено в true, проверяется временная метка целевого файла слияния, и предполагается, что слияние прошло успешно, если файл был обновлён; в противном случае пользователю предлагается указать успешность слияния.
-
mergetool.meld.hasOutput -
Старые версии
meldне поддерживают опцию--output. Git попытается определить, поддерживает лиmeld--output, проверив выводmeld--help. Настройкаmergetool.meld.hasOutputзаставит Git пропустить эти проверки и вместо этого использовать настроенное значение. Установкаmergetool.meld.hasOutputвtrueуказывает Git безоговорочно использовать опцию--output, аfalseизбегает использования--output. -
mergetool.meld.useAutoMerge -
Когда указан
--auto-merge, meld автоматически сливает все неконфликтующие части, выделяет конфликтующие части и ожидает решения пользователя. Установкаmergetool.meld.useAutoMergeвtrueуказывает Git безоговорочно использовать опцию--auto-mergeсmeld. Установка этого значения вautoзаставляет git определять, поддерживается ли--auto-merge, и использовать--auto-mergeтолько когда доступно. Значениеfalseполностью избегает использования--auto-mergeи является значением по умолчанию. -
mergetool.<вариант>.layout -
Настроить макет разделённого окна для <варианта> vimdiff, который может быть
vimdiff,nvimdiff,gvimdiff. При запускеgitmergetoolс--tool=<вариант> (или без--tool, еслиmerge.toolнастроен как <вариант>), Git обратится кmergetool.<вариант>.layout, чтобы определить макет инструмента. Если конфигурация, специфичная для варианта, недоступна, используется макетvimdiffв качестве запасного варианта. Если и он недоступен, будет использоваться макет по умолчанию с 4 окнами. Чтобы настроить макет, см. «ПОДСКАЗКИ ПО ВНУТРЕННИМ МЕХАНИЗМАМ» раздел в git-mergetool[1]. -
mergetool.hideResolved -
Во время слияния Git автоматически разрешает как можно больше конфликтов и записывает файл
$MERGED, содержащий маркеры конфликтов вокруг любых конфликтов, которые он не может разрешить;$LOCALи$REMOTEобычно являются версиями файла до разрешения конфликтов Git. Этот флаг приводит к перезаписи$LOCALи$REMOTE, так что инструменту слияния представляются только неразрешённые конфликты. Может быть настроен для каждого инструмента через переменную конфигурацииmergetool.<инструмент>.hideResolved. По умолчаниюfalse. -
mergetool.keepBackup -
После выполнения слияния исходный файл с маркерами конфликтов может быть сохранён как файл с расширением
.orig. Если эта переменная установлена вfalse, этот файл не сохраняется. По умолчаниюtrue(т.е. сохранять резервные копии). -
mergetool.keepTemporaries -
При вызове пользовательского инструмента слияния Git использует набор временных файлов для передачи инструменту. Если инструмент возвращает ошибку и эта переменная установлена в
true, эти временные файлы будут сохранены; в противном случае они будут удалены после завершения работы инструмента. По умолчаниюfalse. -
mergetool.writeToTemp -
По умолчанию Git записывает временные версии
BASE,LOCALиREMOTEконфликтующих файлов в рабочем каталоге. При установкеtrueGit попытается использовать для этих файлов временный каталог. По умолчаниюfalse. -
mergetool.prompt -
Запрашивать подтверждение перед каждым вызовом программы разрешения слияния.
-
mergetool.guiDefault -
Установите
true, чтобы использоватьmerge.guitoolпо умолчанию (эквивалентно указанию аргумента--gui), илиauto, чтобы выбиратьmerge.guitoolилиmerge.toolв зависимости от наличия значения переменной средыDISPLAY. По умолчаниюfalse, когда аргумент--guiдолжен быть предоставлен явно для использованияmerge.guitool.
-
notes.mergeStrategy -
Какую стратегию слияния выбирать по умолчанию при разрешении конфликтов заметок. Должна быть одной из
manual,ours,theirs,unionилиcat_sort_uniq. По умолчаниюmanual. Дополнительную информацию о каждой стратегии см. в разделе «СТРАТЕГИИ СЛИЯНИЯ ЗАМЕТОК» в git-notes[1].Этот параметр можно переопределить, передав опцию
--strategyв git-notes[1]. -
notes.<имя>.mergeStrategy -
Какую стратегию слияния выбрать при выполнении слияния заметок в
refs/notes/<имя>. Это переопределяет более общуюnotes.mergeStrategy. Дополнительную информацию о доступных стратегиях см. в разделе «СТРАТЕГИИ СЛИЯНИЯ ЗАМЕТОК» в git-notes[1]. -
notes.displayRef -
Какая ссылка (или ссылки, если это glob-шаблон или указано более одного раза), в дополнение к умолчанию, заданному
core.notesRefилиGIT_NOTES_REF, должна использоваться для чтения заметок при показе сообщений коммитов с помощью семейства командgitlog.Этот параметр можно переопределить с помощью переменной среды
GIT_NOTES_DISPLAY_REF, которая должна представлять собой разделённый двоеточиями список ссылок или glob-шаблонов.Для несуществующих ссылок будет выдано предупреждение, но glob-шаблон, не соответствующий ни одной ссылке, будет молча проигнорирован.
Этот параметр можно отключить с помощью опции
--no-notesдля семейства команд git-log[1] или с помощью опции--notes=<ссылка>, принимаемой этими командами.Эффективное значение
core.notesRef(возможно, переопределённоеGIT_NOTES_REF) также неявно добавляется в список отображаемых ссылок. -
notes.rewrite.<команда> -
При перезаписи коммитов с помощью <команда> (в настоящее время
amendилиrebase), если эта переменная имеет значениеfalse, git не будет копировать заметки из исходного коммита в перезаписанный. По умолчаниюtrue. См. такжеnotes.rewriteRefниже.Этот параметр можно переопределить с помощью переменной среды
GIT_NOTES_REWRITE_REF, которая должна представлять собой разделённый двоеточиями список ссылок или glob-шаблонов. -
notes.rewriteMode -
При копировании заметок во время перезаписи (см. параметр
notes.rewrite.<команда>) определяет, что делать, если у целевого коммита уже есть заметка. Должно быть одним изoverwrite,concatenate,cat_sort_uniqилиignore. По умолчаниюconcatenate.Этот параметр можно переопределить с помощью переменной окружения
GIT_NOTES_REWRITE_MODE. -
notes.rewriteRef -
При копировании заметок во время перезаписи указывает (полностью квалифицированную) ссылку, чьи заметки следует копировать. Может быть glob-шаблоном, и в этом случае заметки во всех соответствующих ссылках будут скопированы. Вы также можете указать эту конфигурацию несколько раз.
Не имеет значения по умолчанию; вы должны настроить эту переменную, чтобы включить перезапись заметок. Установите её в
refs/notes/commits, чтобы включить перезапись для заметок коммитов по умолчанию.Может быть переопределена с помощью переменной среды
GIT_NOTES_REWRITE_REF. См.notes.rewrite.<команда> выше для дальнейшего описания её формата.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
push.autoSetupRemote -
Если установлено в
true, подразумевать--set-upstreamпри отправке по умолчанию, когда для текущей ветки не существует вышестоящего (upstream) отслеживания; этот параметр действует с опциямиpush.defaultsimple,upstreamиcurrent. Это полезно, если по умолчанию вы хотите, чтобы новые ветки отправлялись во внешний репозиторий по умолчанию (как поведениеpush.default=current) и вы также хотите, чтобы было установлено вышестоящее отслеживание. Наиболее вероятные рабочие процессы, которые выиграют от этого параметра, — этоsimpleцентрализованные рабочие процессы, где ожидается, что все ветки будут иметь одинаковые имена во внешнем репозитории. -
push.default -
Определяет действие, которое должно выполняться
gitpush, если не указан спецификатор ссылки (будь то из командной строки, конфигурации или другого места). Разные значения хорошо подходят для конкретных рабочих процессов; например, в чисто централизованном рабочем процессе (т.е. источник получения равен цели отправки),upstream, вероятно, то, что вам нужно. Возможные значения:-
nothing -
не отправлять ничего (завершиться с ошибкой), если не указан спецификатор ссылки. Это в первую очередь предназначено для людей, которые хотят избежать ошибок, всегда действуя явно.
-
current -
отправить текущую ветку для обновления ветки с тем же именем на принимающей стороне. Работает как в централизованных, так и в нецентрализованных рабочих процессах.
-
upstream -
отправить текущую ветку обратно в ветку, чьи изменения обычно интегрируются в текущую ветку (которая называется
@{upstream}). Этот режим имеет смысл только в том случае, если вы отправляете в тот же репозиторий, из которого обычно извлекаете (pull) (т.е. централизованный рабочий процесс). -
tracking -
это устаревший синоним для
upstream. -
simple -
отправить текущую ветку с тем же именем во внешний репозиторий.
Если вы работаете по централизованному рабочему процессу (отправляете в тот же репозиторий, из которого извлекаете, обычно это
origin), то вам нужно настроить вышестоящую ветку с тем же именем.Этот режим используется по умолчанию, начиная с Git 2.0, и является самым безопасным вариантом, подходящим для новичков.
-
matching -
отправить все ветки, имеющие одинаковые имена на обоих концах. Это заставляет репозиторий, в который вы отправляете, запомнить набор веток, которые будут отправлены (например, если вы всегда отправляете туда
maintиmasterи никакие другие ветки, репозиторий, в который вы отправляете, будет иметь эти две ветки, и ваши локальныеmaintиmasterбудут туда отправлены).Чтобы эффективно использовать этот режим, вы должны убедиться, что все ветки, которые вы собираетесь отправить, готовы к отправке перед запуском
gitpush, поскольку весь смысл этого режима в том, чтобы позволить вам отправить все ветки за один раз. Если вы обычно заканчиваете работу только над одной веткой и отправляете результат, в то время как другие ветки не закончены, этот режим не для вас. Кроме того, этот режим не подходит для отправки в общий центральный репозиторий, так как другие люди могут добавлять там новые ветки или обновлять верхушки существующих веток вне вашего контроля.Раньше это было значение по умолчанию, но не начиная с Git 2.0 (
simple— новое значение по умолчанию).
-
-
push.followTags -
Если установлено в true, включить опцию
--follow-tagsпо умолчанию. Вы можете переопределить эту конфигурацию во время отправки, указав--no-follow-tags. -
push.gpgSign -
Может быть установлен в логическое значение или в строку
if-asked. Значение true заставляет все отправки подписываться с помощью GPG, как если бы--signedбыл передан в git-push[1]. Строкаif-askedзаставляет отправки подписываться, если сервер это поддерживает, как если бы--signed=if-askedбыл передан вgitpush. Значение false может переопределить значение из конфигурационного файла с более низким приоритетом. Явный флаг командной строки всегда переопределяет этот параметр конфигурации. -
push.pushOption -
Если аргумент
--push-option=<параметр> не задан в командной строке,gitpushведёт себя так, как если бы каждый <параметр> этой переменной был задан как--push-option=<параметр>.Это многозначная переменная, и пустое значение может быть использовано в конфигурационном файле с более высоким приоритетом (например,
.git/configв репозитории) для очистки значений, унаследованных из конфигурационных файлов с более низким приоритетом (например,$HOME/.gitconfig).Пример: /etc/gitconfig push.pushoption = a push.pushoption = b ~/.gitconfig push.pushoption = c repo/.git/config push.pushoption = push.pushoption = b В результате останется только b (a и c будут очищены).
-
push.recurseSubmodules -
Может быть
check,on-demand,onlyилиno, с тем же поведением, что и уpush--recurse-submodules. Если не установлено, по умолчанию используетсяno, если только не установленsubmodule.recurse(в этом случае значениеtrueозначаетon-demand). -
push.useForceIfIncludes -
Если установлено в
true, это эквивалентно указанию--force-if-includesв качестве параметра для git-push[1] в командной строке. Добавление--no-force-if-includesво время отправки переопределяет этот параметр конфигурации. -
push.negotiate -
Если установлено в
true, пытаться уменьшить размер отправляемого pack-файла с помощью раундов согласования, в которых клиент и сервер пытаются найти общие коммиты. Еслиfalse, Git будет полагаться исключительно на объявление ссылок сервера для поиска общих коммитов. -
push.useBitmaps -
Если установлено в
false, отключить использование битовых карт дляgitpush, даже еслиpack.useBitmapsимеет значениеtrue, не препятствуя использованию битовых карт другими операциями git. По умолчаниюtrue.
- rebase.backend
-
Внутренний механизм по умолчанию для перемещения (rebase). Возможные варианты: apply или merge. В будущем, если внутренний механизм слияния (merge backend) получит все оставшиеся возможности внутреннего механизма наложения (apply backend), этот параметр может перестать использоваться.
- rebase.stat
-
Показывать ли diffstat того, что изменилось выше по течению (upstream) с момента последнего перемещения. По умолчанию false.
- rebase.autoSquash
-
Если установлено в true, включить параметр
--autosquashкоманды git-rebase[1] по умолчанию для интерактивного режима. Это можно переопределить с помощью параметра--no-autosquash. - rebase.autoStash
-
Если установлено в true, автоматически создаёт временную запись в тайнике (stash) перед началом операции и применяет её после завершения операции. Это означает, что вы можете выполнять перемещение на грязном рабочем каталоге. Однако используйте с осторожностью: финальное применение тайника после успешного перемещения может привести к нетривиальным конфликтам. Этот параметр может быть переопределён параметрами
--no-autostashи--autostashкоманды git-rebase[1]. По умолчанию false. - rebase.updateRefs
-
Если установлено в true, включить параметр
--update-refsпо умолчанию. - rebase.missingCommitsCheck
-
Если установлено в «warn», git rebase -i выведет предупреждение, если некоторые коммиты удалены (например, строка была удалена), однако перемещение всё равно продолжится. Если установлено в «error», он выведет предыдущее предупреждение и остановит перемещение; затем можно использовать git rebase --edit-todo для исправления ошибки. Если установлено в «ignore», никакая проверка не выполняется. Чтобы отбросить коммит без предупреждения или ошибки, используйте команду
dropв списке задач. По умолчанию «ignore». - rebase.instructionFormat
-
Строка формата, как указано в git-log[1], используемая для списка задач во время интерактивного перемещения. К формату автоматически будет добавлен хеш коммита в начале.
- rebase.abbreviateCommands
-
Если установлено в true,
gitrebaseбудет использовать сокращённые имена команд в списке задач, что приведёт к чему-то вроде этого:p deadbee Однострочное описание коммита p fa1afe1 Однострочное описание следующего коммита ...
вместо:
pick deadbee Однострочное описание коммита pick fa1afe1 Однострочное описание следующего коммита ...
По умолчанию false.
- rebase.rescheduleFailedExec
-
Автоматически перепланировать команды
exec, которые завершились сбоем. Это имеет смысл только в интерактивном режиме (или когда была предоставлена опция--exec). Это то же самое, что и указание опции--reschedule-failed-exec. - rebase.forkPoint
-
Если установлено в false, установить опцию
--no-fork-pointпо умолчанию. - rebase.rebaseMerges
-
Следует ли и как устанавливать опцию
--rebase-mergesпо умолчанию. Может бытьrebase-cousins,no-rebase-cousinsили логическим значением. Установка в true или вno-rebase-cousinsэквивалентна--rebase-merges=no-rebase-cousins, установка вrebase-cousinsэквивалентна--rebase-merges=rebase-cousins, а установка в false эквивалентна--no-rebase-merges. Передача--rebase-mergesв командной строке, с аргументом или без, переопределяет любую конфигурациюrebase.rebaseMerges. - rebase.maxLabelLength
-
При создании имён меток из тем коммитов усекать имена до этой длины. По умолчанию имена усекаются до значения немного меньшего, чем
NAME_MAX(чтобы разрешить, например, запись файлов.lockдля соответствующих непакованных (loose) ссылок).
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
- sequence.editor
-
Текстовый редактор, используемый
gitrebase-iдля редактирования файла инструкций перемещения. Значение должно интерпретироваться оболочкой при его использовании. Может быть переопределено переменной средыGIT_SEQUENCE_EDITOR. Если не настроено, вместо него используется редактор сообщений коммитов по умолчанию.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
stash.index -
Если установлено в true,
gitstashapplyиgitstashpopбудут вести себя так, как будто был указан--index. По умолчанию false. См. описания в git-stash[1].Это также влияет на вызовы git-stash[1] через
--autostashиз таких команд, как git-merge[1], git-rebase[1] и git-pull[1]. -
stash.showIncludeUntracked -
Если установлено в true, команда
gitstashshowбудет показывать неотслеживаемые файлы записи в тайнике (stash). По умолчанию false. See the description of the 'show' command in git-stash[1]. -
stash.showPatch -
Если установлено в true, команда
gitstashshowбез параметра будет показывать запись в тайнике (stash) в форме изменения (патча). По умолчанию false. See the description of the 'show' command in git-stash[1]. -
stash.showStat -
Если установлено в true, команда
gitstashshowбез параметра будет показывать diffstat записи в тайнике (stash). По умолчанию true. See the description of the 'show' command in git-stash[1].
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
tag.forceSignAnnotated -
Логическое значение, указывающее, должны ли создаваемые аннотированные метки подписываться с помощью GPG. Если в командной строке указан
--annotate, он имеет приоритет над этой опцией. -
tag.sort -
Эта переменная управляет порядком сортировки меток при отображении git-tag[1]. Если не указана опция
--sort=<значение>, значение этой переменной будет использоваться по умолчанию. -
tag.gpgSign -
Логическое значение, указывающее, должны ли все метки подписываться с помощью GPG. Использование этой опции при выполнении в автоматизированном скрипте может привести к подписанию большого количества меток. Поэтому удобно использовать агент, чтобы избежать многократного ввода вашей GPG-фразы. Обратите внимание, что эта опция не влияет на поведение подписания меток, включённое опциями
-u<id-ключа> или--local-user=<id-ключа>.
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
|
Warning
|
Missing See original version for this content. |
-
worktree.guessRemote -
Если ветка не указана и не используются ни
-b, ни-B, ни--detach, тоgitworktreeaddпо умолчанию создаёт новую ветку из HEAD. Еслиworktree.guessRemoteустановлено в true,worktreeaddпытается найти отслеживаемую внешнюю ветку, имя которой однозначно соответствует имени новой ветки. Если такая ветка существует, она переключается (checkout) и устанавливается как «вышестоящая» (upstream) для новой ветки. Если такого соответствия найти не удаётся, возвращается к созданию новой ветки из текущегоHEAD. -
worktree.useRelativePaths -
Связывать рабочие копии (worktrees), используя относительные пути (когда «
true») или абсолютные пути (когда «false»). Это особенно полезно для конфигураций, где репозиторий и рабочие копии могут перемещаться между разными местами или средами. По умолчанию «false».Обратите внимание, что установка
worktree.useRelativePathsв «true» подразумевает включение конфигурацииextensions.relativeWorktrees(см. git-config[1]), что делает её несовместимой со старыми версиями Git.
ОШИБКИ
При использовании устаревшего синтаксиса [раздел.подраздел] изменение значения приведёт к добавлению многострочного ключа вместо изменения, если подраздел указан хотя бы с одним символом в верхнем регистре. Например, когда конфигурация выглядит так
[раздел.подраздел]
key = value1
и выполнение git config раздел.Подраздел.key value2 приведёт к
[раздел.подраздел]
key = value1
key = value2
GIT
Является частью пакета git[1]