українська мова ▾ Topics ▾ Latest version ▾ git-config last updated in 2.53.0

НАЗВА

git-config - Отримання та встановлення параметрів репозиторію або глобальних параметрів

СИНОПСИС

git config list [<file-option>] [<display-option>] [--includes]
git config get [<file-option>] [<display-option>] [--includes] [--all] [--regexp] [--value=<pattern>] [--fixed-value] [--default=<default>] [--url=<url>] <name>
git config set [<file-option>] [--type=<type>] [--all] [--value=<pattern>] [--fixed-value] <name> <value>
git config unset [<file-option>] [--all] [--value=<pattern>] [--fixed-value] <name>
git config rename-section [<file-option>] <old-name> <new-name>
git config remove-section [<file-option>] <name>
git config edit [<file-option>]
git config [<file-option>] --get-colorbool <name> [<stdout-is-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>

Якщо як <section>.<key> задано двокомпонентний <name>, повертається значення для <section>.<URL>.<key>, частина <URL> якого найкраще відповідає заданій URL-адресі (якщо такого ключа не існує, значення для <section>.<key> використовується як резервний варіант). Якщо як ім’я задано лише <section>, це робиться для всіх ключів у розділі та перераховується їх. Повертає код помилки 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>/ для інших робочих дерев. Див. git-worktree[1], щоб дізнатися, як увімкнути extensions.worktreeConfig.

-f <config-file>
--file <config-file>

Щодо параметрів запису: записуйте у вказаний файл, а не в репозиторій .git/config.

Щодо параметрів читання: читати лише з вказаного файлу, а не з усіх доступних файлів.

Див. також ФАЙЛИ.

--blob <blob>

Подібно до --file, але замість файлу використовується заданий блоб. Наприклад, ви можете використовувати master:.gitmodules для зчитування значень з файлу .gitmodules у гілці master. Див. розділ "ВИЗНАЧЕННЯ РЕВІЗІЙ" у gitrevisions[7] для повнішого списку способів написання імен блобів.

--value=<pattern>
--no-value

З get, set та unset, зіставлення здійснюється лише з <шаблон>. Шаблон є розширеним регулярним виразом, якщо не вказано --fixed-value.

Використовуйте --no-value, щоб скасувати встановлення <шаблон>.

--fixed-value

При використанні з --value=<шаблон>, <шаблон> розглядайте як точний рядок, а не як регулярний вираз. Це обмежить пари ім’я/значення, які збігаються, лише тими, де значення точно дорівнює <шаблон>.

--type <type>

Команда «git config» гарантуватиме, що будь-які вхідні або вихідні дані є коректними згідно з заданими обмеженнями типу, та канонізуватиме вихідні значення в канонічну форму <type>.

Дійсні <type> включають:

  • 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 section.variable ~/ з командного рядка, щоб ваша оболонка виконала розширення).

  • expiry-date: канонізувати шляхом перетворення фіксованого або відносного рядка дати на позначку часу. Цей специфікатор не впливає на встановлення значення.

  • колір: Під час отримання значення канонізувати шляхом перетворення на керуючу послідовність кольору ANSI. Під час встановлення значення виконується перевірка на бездоганність, щоб переконатися, що задане значення можна канонізувати як колір ANSI, але воно записується як є.

--bool
--int
--bool-or-int
--path
--expiry-date

Історичні опції вибору специфікатора типу. Замість цього надайте перевагу --type (див. вище).

--no-type

Скасовує попередньо встановлений специфікатор типу (якщо такий був раніше встановлений). Ця опція вимагає, щоб git config не канонізував отриману змінну. --no-type не має ефекту без --type=<тип> або --<тип>.

-z
--null

Для всіх опцій, що виводять значення та/або ключі, завжди завершуйте значення символом null (замість символу нового рядка). Використовуйте символ нового рядка як роздільник між ключем і значенням. Це дозволяє безпечно обробляти вивід, не плутаючись, наприклад, зі значеннями, що містять розриви рядків.

--name-only

Виведіть лише назви змінних конфігурації для list або get.

--show-names
--no-show-names

За допомогою get відображаються ключі конфігурації на додаток до їхніх значень. Значення за замовчуванням — --no-show-names, якщо не вказано --url і в <назва> немає підрозділів.

--show-origin

Доповніть вивід усіх запитуваних параметрів конфігурації типом походження (файл, стандартний ввід, блоб, командний рядок) та фактичним походженням (шлях до файлу конфігурації, посилання або ідентифікатор блобу, якщо застосовно).

--show-scope

Подібно до --show-origin тим, що він доповнює вивід усіх запитуваних параметрів конфігурації областю дії цього значення (робоче дерево, локальний, глобальний, системний, команда).

--get-colorbool <name> [<stdout-is-tty>]

Знайдіть налаштування кольору для <name> (наприклад, color.diff) та виведіть "true" або "false". <stdout-is-tty> має бути або "true", або "false", і враховується, коли конфігурація вказує на "auto". Якщо <stdout-is-tty> відсутній, то перевіряється стандартний вивід самої команди та завершується зі статусом 0, якщо має використовуватися колір, або зі статусом 1 в іншому випадку. Коли налаштування кольору для name не визначено, команда використовує color.ui як резервний варіант.

--includes
--no-includes

Враховуйте директиви include.* у конфігураційних файлах під час пошуку значень. За замовчуванням встановлено значення off, коли вказано певний файл (наприклад, за допомогою --file, --global тощо), та on під час пошуку у всіх конфігураційних файлах.

--default <value>

Якщо використовується функція get, а запитувана змінна не знайдена, поводьтеся так, ніби <value> — це значення, призначене цій змінній.

ЗАСТАРІЛІ РЕЖИМИ

Наступні режими застаріли на користь підкоманд. Рекомендується перейти на новий синтаксис.

git config <name>

Замінено на git config get <name>.

git config <name> <value> [<value-pattern>]

Замінено на git config set [--value=<pattern>] <name> <value>.

-l
--list

Замінено на git config list.

--get <name> [<value-pattern>]

Замінено на git config get [--value=<pattern>] <name>.

--get-all <name> [<value-pattern>]

Замінено на git config get [--value=<pattern>] --all <name>.

--get-regexp <ім’я-регулярний вираз>

Замінено на git config get --all --show-names --regexp <name-regexp>.

--get-urlmatch <name> <URL>

Замінено на git config get --all --show-names --url=<URL> <name>.

--get-color <name> [<default>]

Замінено на git config get --type=color [--default=<default>] <name>.

--add <name> <value>

Замінено на git config set --append <name> <value>.

--unset <name> [<value-pattern>]

Замінено на git config unset [--value=<pattern>] <name>.

--unset-all <name> [<value-pattern>]

Замінено на git config unset [--value=<pattern>] --all <name>.

--rename-section <old-name> <new-name>

Замінено на git config rename-section <old-name> <new-name>.

--remove-section <ім’я>

Замінено на git config remove-section <name>.

-e
--edit

Замінено на git config edit.

КОНФІГУРАЦІЯ

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. Докладніше див. у ОПЦІЇ вище.

ПРИЛАДИ

Кожне джерело конфігурації потрапляє в певну область конфігурації. Ці області дії:

system

$(prefix)/etc/gitconfig

global

$XDG_CONFIG_HOME/git/config

~/.gitconfig

local

$GIT_DIR/config

робоче дерево

$GIT_DIR/config.worktree

command

Змінні середовища GIT_CONFIG_{COUNT,KEY,VALUE} (див. НАВКОЛИШНЄ СЕРЕДОВИЩЕ нижче)

опція -c

За винятком «command», кожна область видимості відповідає параметру командного рядка: --system, --global, --local, --worktree.

Під час читання параметрів, якщо вказати область видимості, параметри будуть зчитуватися лише з файлів у межах цієї області видимості. Під час запису параметрів, якщо вказати область видимості, параметри будуть записуватися у файли в межах цієї області видимості (замість файлу конфігурації репозиторію). Повний опис див. у ОПЦІЇ вище.

Більшість параметрів конфігурації враховуються незалежно від області їх визначення, але деякі параметри враховуються лише в певних областях. Повні відомості дивіться в документації відповідного параметра.

Захищена конфігурація

Захищена конфігурація стосується областей видимості «система», «глобальна» та «команда». З міркувань безпеки певні параметри враховуються лише тоді, коли вони вказані в захищеній конфігурації, та ігноруються в іншому випадку.

Git обробляє ці області видимості так, ніби вони контролюються користувачем або довіреним адміністратором. Це пояснюється тим, що зловмисник, який контролює ці області видимості, може завдати значної шкоди без використання Git, тому передбачається, що середовище користувача захищає ці області видимості від зловмисників.

НАВКОЛИШНЄ СЕРЕДОВИЩЕ

GIT_CONFIG_GLOBAL
GIT_CONFIG_SYSTEM

Візьміть конфігурацію з наданих файлів, а не з глобальної або системної конфігурації. Див. git[1] для отримання детальної інформації.

GIT_CONFIG_NOSYSTEM

Чи слід пропускати зчитування налаштувань із системного файлу $(prefix)/etc/gitconfig. Див. git[1] для отримання детальної інформації.

Див. також ФАЙЛИ.

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

Якщо для git config не надано опцію --file, використовуйте файл, наданий GIT_CONFIG, так, ніби він надано через --file. Ця змінна не впливає на інші команди Git і здебільшого призначена для історичної сумісності; зазвичай немає причин використовувати її замість опції --file.

ПРИКЛАДИ

Враховуючи .git/config like this:

#
# Це конфігураційний файл, і
# символ '#' або ';' вказує
# на коментар
#

; основні змінні
[core]
	; Не довіряйте режимам файлів
	filemode = false

; Наш алгоритм диференціації
[diff]
	external = /usr/local/bin/diff-wrapper
	renames = true

; Налаштування проксі-сервера
[core]
	gitproxy=proxy-command for kernel.org
	gitproxy=default-proxy ; for all the rest

; HTTP
[http]
	sslVerify
[http "https://weak.example.com"]
	sslVerify = false
	cookieFile = /tmp/cookie.txt

Ви можете встановити файловий режим на 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.

Щоб видалити запис для перейменування, виконайте такі дії

% 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='[!]' section.key value

Щоб додати новий проксі-сервер, не змінюючи жодного з існуючих, використовуйте

% git config set --append core.gitproxy '"proxy-command" для 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}your whitespace color or blue reverse${RESET}"

Для URL-адрес у https://weak.example.com, http.sslVerify має значення false, тоді як для всіх інших URL-адрес має значення 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 можна використовувати для зберігання загальносистемної конфігурації за замовчуванням.

Змінні конфігурації використовуються як командами Git plumbing, так і командами porcelain. Змінні поділені на секції, де повна назва змінної – це останній сегмент, розділений крапками, а назва секції – це все, що знаходиться перед останньою крапкою. Назви змінних не враховують регістр, дозволяють використовувати лише буквено-цифрові символи та -, і повинні починатися з літери. Деякі змінні можуть зустрічатися кілька разів; тоді ми кажемо, що змінна є багатозначною.

Синтаксис

Синтаксис досить гнучкий та дозвільний. Пробільні символи, якими в цьому контексті є пробіл (SP) та горизонтальна табуляція (HT), здебільшого ігноруються. Символи # та ; розпочинають коментарі до кінця рядка. Порожні рядки ігноруються.

Файл складається з розділів та змінних. Розділ починається з назви розділу в квадратних дужках і триває до початку наступного розділу. Назви розділів не враховують регістр. В іменах розділів дозволені лише буквено-цифрові символи, - та .. Кожна змінна повинна належати до певного розділу, що означає, що перед першим налаштуванням змінної має бути заголовок розділу.

Розділи можна додатково розділити на підрозділи. Щоб розпочати підрозділ, візьміть його назву в подвійні лапки, відокремивши її пробілом від назви розділу, у заголовку розділу, як у прикладі нижче:

	[section "subsection"]

Назви підрозділів чутливі до регістру та можуть містити будь-які символи, окрім символу нового рядка та нульового байта. Подвійні лапки " та зворотну скісну риску можна включати, екрануючи їх як \" та \\ відповідно. Зворотні скісну риску перед іншими символами пропускаються під час читання; наприклад, \t читається як t, а \0 читається як 0. Заголовки розділів не можуть охоплювати кілька рядків. Змінні можуть належати безпосередньо до розділу або до заданого підрозділу. Ви можете мати [розділ], якщо у вас є [розділ "підрозділ"], але це не обов’язково.

Також існує застарілий синтаксис [section.subsection]. У цьому синтаксисі назва підрозділу перетворюється на малу літеру та порівнюється з урахуванням регістру. Ці назви підрозділів дотримуються тих самих обмежень, що й назви розділів.

Усі інші рядки (і решта рядка після заголовка розділу) розпізнаються як змінні-налаштування у формі «назва = значення» (або просто «назва», що є скороченням від логічного значення «true»). Назви змінних не враховують регістр, дозволяють використовувати лише буквено-цифрові символи та -, і повинні починатися з літери.

Пробільні символи навколо name, = та value відкидаються. Внутрішні пробільні символи всередині value зберігаються дослівно. Коментарі, що починаються з # або ; і продовжуються до кінця рядка, відкидаються. Рядок, який визначає значення, можна продовжити до наступного рядка, завершивши його зворотною скісну рискою (\); зворотна скісну риску та символи кінця рядка відкидаються.

Якщо value має містити початкові або кінцеві пробіли, його потрібно взяти в подвійні лапки ("). Усередині подвійних лапок символи подвійних лапок (") та зворотної скісної риски (\) повинні бути екрановані: використовуйте \" замість " та \\ замість \.

Розпізнаються такі escape-послідовності (окрім \" та \\): \n для символу нового рядка (NL), \t для горизонтальної табуляції (HT, TAB) та \b для символу повернення до коду (BS). Інші escape-послідовності символів (включаючи вісімкові escape-послідовності) є недійсними.

Включає

Розділи include та includeIf дозволяють вам включати директиви конфігурації з іншого джерела. Ці розділи поводяться ідентично один одному, за винятком того, що розділи includeIf можуть ігноруватися, якщо їхня умова не є true; див. "Умовні включення" нижче.

Ви можете включити конфігураційний файл з іншого файлу, встановивши спеціальну змінну include.path (або includeIf.*.path) на ім’я файлу, який потрібно включити. Змінна приймає шлях як значення та підлягає розширенню тильдою. Ці змінні можна вводити кілька разів.

Вміст підключаного файлу вставляється негайно, ніби він був знайдений у місці розташування директиви include. Якщо значення змінної є відносним шляхом, шлях вважається відносним до файлу конфігурації, в якому було знайдено директиву include. Див. приклади нижче.

Умовне включення

Ви можете умовно включити конфігураційний файл з іншого, встановивши змінну includeIf.<condition>.path на ім’я файлу, який потрібно включити.

Умова починається з ключового слова, за яким йде двокрапка та деякі дані, формат та значення яких залежать від ключового слова. Підтримувані ключові слова:

gitdir

Дані, що йдуть після ключового слова gitdir та двокрапки, використовуються як шаблон glob. Якщо розташування каталогу .git відповідає шаблону, умова включення виконується.

Розташування .git може бути автоматично виявлене або походити зі змінної середовища $GIT_DIR. Якщо репозиторій автоматично виявлено через файл .git (наприклад, з підмодулів або пов’язаного робочого дерева), розташування .git буде кінцевим розташуванням, де знаходиться каталог .git, а не місцем, де знаходиться файл .git.

Шаблон може містити стандартні шаблони підстановки та два додаткові, **/ та /**, які можуть відповідати кільком компонентам шляху. Для отримання детальної інформації зверніться до gitignore[5]. Для зручності:

  • Якщо шаблон починається з ~/, ~ буде замінено вмістом змінної середовища HOME.

  • Якщо шаблон починається з ./, він замінюється назвою каталогу, що містить поточний файл конфігурації.

  • Якщо шаблон не починається з ~/, ./ або /, автоматично буде додано **/. Наприклад, шаблон foo/bar стає **/foo/bar і відповідатиме /any/path/to/foo/bar.

  • Якщо шаблон закінчується на /, автоматично буде додано **. Наприклад, шаблон foo/ стає foo/**. Іншими словами, він рекурсивно збігається з "foo" та всім, що всередині нього.

gitdir/i

Це те саме, що й gitdir, за винятком того, що зіставлення виконується без урахування регістру (наприклад, на файлових системах без урахування регістру)

onbranch

Дані, що йдуть після ключового слова onbranch та двокрапки, вважаються шаблоном зі стандартними шаблонами глобального підстановлення та двома додатковими, **/ та /**, які можуть відповідати кільком компонентам шляху. Якщо ми знаходимося в робочому дереві, де назва гілки, яка наразі витягується, відповідає шаблону, умова включення виконується.

Якщо шаблон закінчується на /, автоматично буде додано **. Наприклад, шаблон foo/ стає foo/**. Іншими словами, він відповідає всім гілкам, які починаються з foo/. Це корисно, якщо ваші гілки організовані ієрархічно, і ви хочете застосувати конфігурацію до всіх гілок у цій ієрархії.

hasconfig:remote.*.url

Дані, що йдуть після цього ключового слова та двокрапки, вважаються шаблоном зі стандартними шаблонами підстановки та двома додатковими, **/ та /**, які можуть відповідати кільком компонентам. При першому зустрічі цього ключового слова решта конфігураційних файлів будуть проскановані на наявність віддалених URL-адрес (без застосування будь-яких значень). Якщо існує хоча б одна віддалена URL-адреса, яка відповідає цьому шаблону, умова включення виконується.

Файли, що включаються цією опцією (прямо чи опосередковано), не можуть містити віддалені URL-адреси.

Зверніть увагу, що на відміну від інших умов includeIf, вирішення цієї умови залежить від інформації, яка ще не відома на момент зчитування умови. Типовим варіантом використання є присутність цього параметра як конфігурації системного або глобального рівня, а віддалена URL-адреса знаходиться в конфігурації локального рівня; звідси виникає необхідність попереднього сканування під час вирішення цієї умови. Щоб уникнути проблеми курки та яйця, коли потенційно включені файли можуть впливати на те, чи будуть такі файли потенційно включені, Git розриває це коло, забороняючи цим файлам впливати на вирішення цих умов (таким чином, забороняючи їм оголошувати віддалені URL-адреси).

Що стосується найменування цього ключового слова, то воно призначене для прямої сумісності зі схемою іменування, яка підтримує більше умов включення на основі змінних, але наразі Git підтримує лише точне ключове слово, описане вище.

Ще кілька зауважень щодо зіставлення через gitdir та gitdir/i:

  • Символічні посилання в $GIT_DIR не вирішуються перед зіставленням.

  • Як символічне посилання, так і реальний шлях будуть збігатися поза $GIT_DIR. Наприклад, якщо ~/git є символічним посиланням на /mnt/storage/git, то збігатимуться як gitdir:~/git, так і gitdir:/mnt/storage/git.

    У початковому випуску цієї функції версії 2.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 ; for the rest

[include]
	path = /path/to/foo.inc ; include by absolute path
	path = foo.inc ; find "foo.inc" relative to the current file
	path = ~/foo.inc ; find "foo.inc" in your `$HOME` directory

; include if $GIT_DIR is /path/to/foo/.git
[includeIf "gitdir:/path/to/foo/.git"]
	path = /path/to/foo.inc

; include for all repositories inside /path/to/group
[includeIf "gitdir:/path/to/group/"]
	path = /path/to/foo.inc

; include for all repositories inside $HOME/to/group
[includeIf "gitdir:~/to/group/"]
	path = /path/to/foo.inc

; relative paths are always relative to the including
; file (if the condition is true); their location is not
; affected by the condition
[includeIf "gitdir:/path/to/group/"]
	path = foo.inc

; include only if we are in a worktree where foo-branch is
; currently checked out
[includeIf "onbranch:foo-branch"]
	path = foo.inc

; include only if a remote with the given URL exists (note
; that such a URL may be provided later in a file or in a
; file read after this file is read, as seen in this example)
[includeIf "hasconfig:remote.*.url:https://example.com/**"]
	path = foo.inc
[remote "origin"]
	url = https://example.com/git

Значенні

Значення багатьох змінних обробляються як простий рядок, але є змінні, які приймають значення певних типів, і існують правила їх написання.

логічний

Коли кажуть, що змінна приймає логічне значення, для «true» та «false» прийнятно багато синонімів; усі вони не враховують регістр.

true

Булеві літерали, що відповідають дійсності, це yes, on, true та 1. Також змінна, визначена без = <value>, сприймається як true.

false

Булеві літерали типу «хибно» – це no, off, false, 0 та порожній рядок.

Під час перетворення значення до його канонічної форми за допомогою специфікатора типу --type=bool, git config гарантуватиме, що вивід буде "true" або "false" (пишеться малими літерами).

integer

Значення багатьох змінних, що визначають різні розміри, можуть мати суфікси k, M тощо, що означають «масштабувати число на 1024», «на 1024x1024» тощо.

color

Значенням змінної, яка приймає колір, є список кольорів (щонайбільше два, один для переднього плану та один для фону) та атрибутів (скільки завгодно), розділених пробілами.

Прийнятні основні кольори: «звичайний», «чорний», «червоний», «зелений», «жовтий», «синій», «пурпуровий», «блакитний», «білий» та «за замовчуванням». Перший заданий колір — це колір переднього плану; другий — колір фону. Усі основні кольори, крім «звичайного» та «за замовчуванням», мають яскравий варіант, який можна вказати, додавши перед кольором префікс «яскравий», наприклад, «яскраво-червоний».

Колір normal не змінює колір. Він такий самий, як порожній рядок, але може використовуватися як колір переднього плану, якщо вказати лише колір фону (наприклад, "normal red").

Колір default явно скидає колір термінала до значення за замовчуванням, наприклад, щоб вказати очищений фон. Хоча це залежить від терміналу, зазвичай це не те саме, що встановити значення "білий/чорний".

Кольори також можуть бути задані числами від 0 до 255; вони використовують 256-кольоровий режим ANSI (але зауважте, що не всі термінали можуть підтримувати це). Якщо ваш термінал підтримує це, ви також можете вказати 24-бітні значення RGB у шістнадцятковому форматі, наприклад #ff0ab3, або 12-бітні значення RGB, наприклад #f1b, що еквівалентно 24-бітному кольору #ff11bb.

Допустимі атрибути: bold, dim, ul, blink, reverse, italic та strike (для перекреслених або «закреслених» літер). Положення будь-яких атрибутів відносно кольорів (до, після або посередині) не має значення. Певні атрибути можна вимкнути, додавши перед ними префікс no або no- (наприклад, noreverse, no-ul тощо).

Псевдоатрибут reset скидає всі кольори та атрибути перед застосуванням заданого кольору. Наприклад, reset green призведе до зеленого переднього плану та фону за замовчуванням без будь-яких активних атрибутів.

Порожній рядок кольору взагалі не створює жодного колірного ефекту. Це можна використовувати, щоб уникнути забарвлення певних елементів, не вимикаючи колір повністю.

Для попередньо визначених кольорових слотів git атрибути мають скидатися на початку кожного елемента у кольоровому виводі. Тож встановлення color.decorate.branch на black зафарбує назву цієї гілки у звичайний чорний, навіть якщо попередній елемент у тому ж рядку виводу (наприклад, відкриваюча дужка перед списком назв гілок у виводі log --decorate) налаштовано на зафарбовування bold або якимось іншим атрибутом. Однак, користувацькі формати журналів можуть мати складніше та шаруватіше забарвлення, і заперечені форми можуть бути там корисними.

pathname

Змінній, яка приймає значення шляху, можна надати рядок, що починається з "~/" або "~user/", і для такого рядка відбувається звичайне розкриття тильдою: ~/ розгортається до значення $HOME, а ~user/ — до домашнього каталогу вказаного користувача.

Якщо шлях починається з %(prefix)/, решта інтерпретується як шлях відносно "префікса середовища виконання" Git, тобто відносно місця, де було встановлено сам Git. Наприклад, %(prefix)/bin/ посилається на каталог, в якому знаходиться сам виконуваний файл Git. Якщо Git було скомпільовано без підтримки префіксів середовища виконання, замість нього буде підставлено скомпільований префікс. У малоймовірному випадку, якщо потрібно вказати літерал шляху, який не слід розширювати, його потрібно починати з ./, ось так: ./%(prefix)/bin.

Якщо перед змінною є префікс :(необов'язково), вона трактується так, ніби її не існує, якщо вказаний шлях не існує.

Варіантів

Зверніть увагу, що цей список не є вичерпним і не обов’язково повним. Для змінних, що стосуються певних команд, ви знайдете детальніший опис на відповідній сторінці довідки.

Інші інструменти, пов’язані з git, можуть використовувати власні змінні та використовують їх. Вигадуючи нові змінні для використання у власному інструменті, переконайтеся, що їхні назви не конфліктують з тими, що використовуються самим Git та іншими популярними інструментами, і опишіть їх у своїй документації.

add.ignoreErrors
add.ignore-errors (застарілий)

Наказує git add продовжувати додавання файлів, якщо деякі файли неможливо додати через помилки індексації. Еквівалентно опції --ignore-errors у git-add[1]. add.ignore-errors застарів, оскільки він не відповідає звичайним правила іменування для змінних конфігурації.

Warning

Missing uk/config/advice.adoc

See original version for this content.

Warning

Missing uk/config/alias.adoc

See original version for this content.

Warning

Missing uk/config/am.adoc

See original version for this content.

Warning

Missing uk/config/apply.adoc

See original version for this content.

Warning

Missing uk/config/attr.adoc

See original version for this content.

Warning

Missing uk/config/bitmap-pseudo-merge.adoc

See original version for this content.

Warning

Missing uk/config/blame.adoc

See original version for this content.

branch.autoSetupMerge

Вказує командам git branch, git switch та git checkout створювати нові гілки таким чином, щоб команда git-pull[1] могла правильно об’єднати зміни, починаючи з гілки-відправної точки. Зверніть увагу, що навіть якщо цей параметр не вказано, таку поведінку можна вибрати для кожної гілки окремо за допомогою параметрів --track та --no-track. Стандартним значенням цього параметра є true. Допустимі значення:

false

автоматичне налаштування не виконується

true

автоматичне налаштування виконується, якщо початковою точкою є гілка з віддаленим відстеженням

always

автоматичне налаштування виконується, якщо початковою точкою є локальна гілка або гілка, що відстежує віддалену гілку

inherit

якщо початкова точка має налаштування відстеження, вони копіюються до нової гілки

simple

автоматичне налаштування виконується лише в тому випадку, якщо початковою точкою є віддалена гілка, а нова гілка має таку саму назву, як і віддалена гілка.

branch.autoSetupRebase

Коли за допомогою команд git branch, git switch або git checkout створюється нова гілка, яка відстежує іншу гілку, ця змінна вказує Git налаштувати операцію pull на rebase замість merge (див. branch.<name>.rebase). Допустимі значення:

never

rebase ніколи автоматично не встановлюється в значення true.

local

rebase встановлюється в значення true для відстежуваних гілок інших локальних гілок.

remote

rebase встановлюється в значення true для відстежуваних гілок гілок дистанційного відстеження.

always

rebase буде встановлено у true для всіх відстежуваних гілок.

Детальніше про те, як налаштувати гілку для відстеження іншої гілки, див. branch.autoSetupMerge. Типовим значенням цього параметра є never.

branch.sort

Ця змінна визначає порядок сортування гілок під час їх перегляду за допомогою команди git-branch[1]. Якщо не вказано опцію --sort=<value>, як стандартне значення буде використано значення цієї змінної. Див. git-for-each-ref[1] «Назви полів» для ознайомлення з допустимими значеннями.

branch.<name>.remote

Коли ви перебуваєте в гілці <name>, це вказує командам git fetch та git push, з якого віддаленого сервера слід завантажувати дані або на який їх надсилати. Віддалений сервер для надсилання даних можна перевизначити за допомогою параметра remote.pushDefault (для всіх гілок). Віддалений сервер для надсилання даних для поточної гілки можна додатково перевизначити за допомогою параметра branch. <name>.pushRemote. Якщо віддалений сервер не налаштований, або якщо ви не перебуваєте в жодній гілці, а в репозиторії визначено більше одного віддаленого сервера, зазвичай для завантаження використовується origin, а для надсилання — remote.pushDefault. Крім того, . (крапка) — це поточний локальний репозиторій (репозиторій з крапкою), див. останню примітку щодо branch.<name>.merge нижче.

branch.<name>.pushRemote

Перебуваючи у гілці <name>, ця опція замінює значення branch.<name>.remote під час надсилання. Вона також замінює remote.pushDefault для надсилання з гілки <name>. Коли ви завантажуєте з одного місця (наприклад, вашого upstream) і надсилаєте в інше місце (наприклад, у власний репозиторій для публікації), вам слід встановити remote.pushDefault, щоб вказати віддалений сервер для надсилання для всіх гілок, і використовувати цю опцію, щоб замінити це значення для конкретної гілки.

branch.<name>.merge

Разом із branch.<name>.remote визначає гілку-джерело для вказаної гілки. Вказує командам git fetch/git pull/git rebase, яку гілку слід об’єднати, а також може впливати на команду git push (див. push.default). Перебуваючи в гілці <name>, вказує команді git fetch стандартне значення refspec, яке слід позначити для об’єднання в FETCH_HEAD. Значення обробляється як віддалена частина refspec і має відповідати ref, який завантажується з віддаленого репозиторію, вказаного branch.<name>.remote. Інформація про злиття використовується git pull (який спочатку викликає git fetch) для пошуку стандартної гілки для злиття. Без цієї опції git pull стандартно зливає перший завантажений refspec. Вкажіть кілька значень, щоб отримати злиття «octopus». Якщо ви хочете налаштувати git pull так, щоб він зливав у <name> з іншої гілки в локальному репозиторії, ви можете вказати branch.<name>.merge на бажану гілку та використовувати відносний шлях . (крапка) для branch.<name>.remote.

branch.<name>.mergeOptions

Встановлює стандартні параметри для злиття у гілку <name>. Синтаксис та підтримувані параметри відповідають тим, що використовуються у команді git-merge[1], однак значення параметрів, що містять пробіли, наразі не підтримуються.

branch.<name>.rebase

Якщо встановлено, під час виконання команди git pull гілку <name> буде перебазовано на вершину завантаженої гілки замість стандартно злиття з гілкою зі стандартного віддаленого репозиторію. Щоб виконати цю дію незалежно від конкретної гілки, див. параметр pull.rebase.

У разі використання команди merges (або просто m) передайте опцію --rebase-merges команді git rebase, щоб локальні коміти злиття були включені в перебазування (детальніше див. git-rebase[1]).

Якщо значення дорівнює interactive (або просто i), перебазування виконується в інтерактивному режимі.

УВАГА: ця операція може бути небезпечною; не використовуйте її, якщо не розумієте всіх наслідків (детальніше див. git-rebase[1]).

branch.<name>.description

Опис гілки можна редагувати за допомогою команди git branch --edit-description. Опис гілки автоматично додається до супровідного листа команди format-patch або до резюме команди request-pull.

Warning

Missing uk/config/browser.adoc

See original version for this content.

Warning

Missing uk/config/bundle.adoc

See original version for this content.

checkout.defaultRemote

Коли ви виконуєте команду git checkout <щось> або git switch <щось> і маєте лише один віддалений репозиторій, система може неявним чином вибрати та відстежувати, наприклад, origin/<щось>. Це перестає працювати, щойно у вас з’являється більше одного віддаленого репозиторію з посиланням <щось>. Цей параметр дозволяє вказати ім’я пріоритетного віддаленого репозиторію, якому завжди слід надавати перевагу при усуненні неоднозначності. Типовим випадком використання є встановлення цього параметра на origin.

Наразі це використовується в git-switch[1] та git-checkout[1], коли команди git checkout <щось> або git switch <щось> виконують перехід до гілки <щось> на іншому віддаленому сервері, а також у git-worktree[1], коли команда git worktree add посилається на віддалену гілку. У майбутньому це налаштування може використовуватися для інших команд або функцій, подібних до checkout.

checkout.guess

Задає стандартне значення для опції --guess або --no-guess у командах git checkout та git switch. Див. 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 uk/config/clean.adoc

See original version for this content.

clone.defaultRemoteName

Імʼя віддаленого сервера, який потрібно створити під час клонування репозиторію. Стандартно — origin. Його можна перевизначити, передавши --origin у командному рядку у git-clone[1].

clone.rejectShallow

Відхиляє клонування репозиторію, якщо він поверхневий; це можна змінити, передавши опцію --reject-shallow у командному рядку. Див. git-clone[1].

clone.filterSubmodules

Якщо надано фільтр часткового клонування (див. --filter у git-rev-list[1]) та використовується --recurse-submodules, також застосовує фільтр до субмодулів.

Warning

Missing uk/config/color.adoc

See original version for this content.

Warning

Missing uk/config/column.adoc

See original version for this content.

commit.cleanup

Це налаштування замінює стандартне значення параметра --cleanup у команді git commit. See git-commit[1] for details. Зміна стандартного значення може бути корисною, якщо ви завжди хочете зберігати у своєму повідомленні журналу рядки, що починаються з символу коментаря (core.commentChar, типове значення #). У цьому випадку вам слід виконати команду git config commit.cleanup whitespace (зверніть увагу, що в такому разі вам доведеться самостійно видалити рядки довідки, що починаються з символу коментаря, у шаблоні журналу комітів).

commit.gpgSign

Булева змінна, що визначає, чи слід підписувати всі коміти за допомогою GPG. Використання цієї опції під час виконання таких операцій, як rebase, може призвести до підписання великої кількості комітів. Щоб уникнути багаторазового введення пароля GPG, доцільно скористатися агентом.

commit.status

Булеве значення, яке визначає, чи включати інформацію про стан у шаблон повідомлення про коміт під час підготовки повідомлення за допомогою редактора. Стандартне значення — true.

commit.template

Визначає шлях до файлу, який буде використано як шаблон для нових повідомлень про зміни.

commit.verbose

Булеве значення або ціле число для визначення рівня деталізації команди git commit. See git-commit[1] for details.

Warning

Missing uk/config/commitgraph.adoc

See original version for this content.

Warning

Missing uk/config/completion.adoc

See original version for this content.

Warning

Missing uk/config/core.adoc

See original version for this content.

Warning

Missing uk/config/credential.adoc

See original version for this content.

diff.autoRefreshIndex

Під час використання git diff для порівняння з файлами робочого дерева зміни, що стосуються лише статистичних даних, не розглядаються як зміни. Натомість без попередження виконується команда git update-index --refresh, щоб оновити кешовану інформацію про статистику для шляхів, вміст яких у робочому дереві збігається з вмістом індексу. Типовим значенням цієї опції є true. Зверніть увагу, що це впливає лише на git diff Porcelain, а не на команди diff нижчого рівня, такі як git diff-files.

diff.dirstat

Список параметрів --dirstat, розділених комами, що визначають стандартну поведінку параметра --dirstat для git-diff[1] подібних команд. Стандартні значення можна перевизначити в командному рядку (використовуючи --dirstat=<param>,...). Стандартне значення, (якщо не змінене за допомогою diff.dirstat) це changes,noncumulative,3. Доступні наступні параметри:

changes

Обчислює показники dirstat шляхом підрахунку рядків, які були видалені з вихідного файлу або додані до файлу призначення. При цьому не враховується кількість переміщень коду всередині самого файлу. Іншими словами, перегрупування рядків у файлі не враховується так само, як інші зміни. Це стандартна поведінка, якщо параметр не вказано.

lines

Обчислює показники dirstat, виконуючи звичайний аналіз відмінностей на основі рядків та підсумовуючи кількість видалених/доданих рядків. (Для бінарних файлів рахує 64-байтові блоки, оскільки бінарні файли не мають природного поняття рядків). Такий підхід --dirstat є більш ресурсоємним, ніж підхід changes, але він враховує перегруповані рядки у файлі нарівні з іншими змінами. Отриманий результат відповідає тому, що ви отримуєте від інших опцій --*stat.

files

Обчислює показники dirstat, рахуючи кількість змінених файлів. Кожен змінений файл має однакову вагу в аналізі dirstat. Це найменш ресурсомісткий варіант роботи опції --dirstat, оскільки він взагалі не вимагає аналізу вмісту файлів.

cumulative

Також підраховуються зміни у дочірній теці батьківської теки. Зверніть увагу, що при використанні параметра cumulative сума вказаних відсотків може перевищувати 100%. Стандартну поведінку (без накопичення) можна вказати за допомогою параметра noncumulative.

<limit>

Цілочисельний параметр визначає граничний відсоток (стандартно — 3%). Теки, що вносять менше змін, ніж цей відсоток, не відображаються у виводі.

Приклад: Наступний код рахує змінені файли, ігноруючи теки з кількістю змінених файлів менше ніж 10% від загальної кількості, та накопичуючи кількість дочірніх тек у батьківських теках: files,10,cumulative.

diff.statNameWidth

Обмежує ширину частини імені файлу у виводі --stat. Якщо встановлено, застосовується до всіх команд, що генерують вивід --stat, окрім format-patch.

diff.statGraphWidth

Обмежує ширину частини графу у виводі --stat. Якщо встановлено, застосовується до всіх команд, що генерують вивід --stat, окрім format-patch.

diff.context

Генерує відмінності з <n> рядками контексту замість стандартних 3-х. Це значення перевизначається опцією -U.

diff.interHunkContext

Показує контекст між відмінностями фрагментів (diff hanks) до вказаної кількості рядків, обʼєднуючи таким чином ті ханфрагментии, що знаходяться поруч. Це значення є стандартним для параметра командного рядка --inter-hunk-context.

diff.external

Якщо ця змінна конфігурації встановлена, порівняння виконується не за допомогою внутрішнього механізму, а за допомогою вказаної команди. Цю налаштування можна замінити за допомогою змінної середовища GIT_EXTERNAL_DIFF. Команда викликається з параметрами, описаними в розділі «git Diffs» у документації git[1]. Примітка: якщо ви хочете використовувати зовнішню програму порівняння лише для частини ваших файлів, вам може знадобитися gitattributes[5].

diff.trustExitCode

Якщо для цього булевого значення встановлено значення true, то команда diff.external повинна повертати код завершення 0, якщо вона вважає вхідні файли однаковими, або 1, якщо вважає їх різними, як і команда diff(1). Якщо встановлено значення false (що є стандартним значенням), то команда повинна повертати код завершення 0 незалежно від того, чи файли однакові. Будь-який інший код завершення змушує Git повідомити про фатальну помилку.

diff.ignoreSubmodules

Встановлює стандартне значення параметра --ignore-submodules. Зверніть увагу, що це впливає лише на Porcelain`git diff`, а не на команди diff нижчого рівня, такі як git diff-files. Команди git checkout та git switch також враховують це налаштування під час показу змін, що не зафіксовані. Встановлення значення all вимикає вивід підсумкової інформації субмодулів, яка зазвичай показується командами git commit та git status, коли встановлено status.submoduleSummary, якщо це не замінено за допомогою опції командного рядка --ignore-submodules. На команди git submodule це налаштування не впливає. Стандартно встановлено значення untracked, щоб ігнорувати будь-які не відстежувані субмодулі.

diff.mnemonicPrefix

Якщо встановлено, git diff використовує пару префіксів, яка відрізняється від стандартних a/ та b/, залежно від того, що порівнюється. Коли ця конфігурація діє, зворотний вивід diff також змінює порядок префіксів:

git diff

порівнює індекс (i) та робоче дерево (w);

git diff HEAD

порівнює коміт (c) та робоче дерево (w);

git diff --cached

порівнює коміт (c) та індекс (i);

git diff HEAD:<файл1> <файл2>

порівнює об’єкт (o) та елемент робочого дерева (w);

git diff --no-index <a> <b>

порівнює дві не-git-речі <a> та <b>.

diff.noPrefix

Якщо встановлено, git diff не показує жодного префікса джерела чи призначення.

diff.srcPrefix

Якщо встановлено, git diff використовуватиме цей префікс джерела. Стандартно a/.

diff.dstPrefix

Якщо встановлено, git diff використовуватиме цей префікс призначення. Стандартно b/.

diff.relative

Якщо встановлено значення true, git diff не показує зміни поза текою та показує шляхи відносно поточної теки.

diff.orderFile

Файл, що вказує, як упорядкувати файли в межах diff. Дивіться опис параметра -O для git-diff[1] для отримання детальної інформації. Якщо diff.orderFile є відносним шляхом, він розглядається як відносний до вершини робочого дерева.

diff.renameLimit

Кількість файлів, які слід врахувати під час вичерпного аналізу на наявність дублікатів або перейменувань; відповідає опції -l команди git diff. Якщо значення не вказано, використовується стандартне значення — 1000. Цей параметр не діє, якщо виявлення перейменувань вимкнено.

diff.renames

Чи виявляє Git перейменування та яким чином. Якщо встановлено значення false, виявлення перейменувань вимкнено. Якщо встановлено значення true, увімкнено базове виявлення перейменувань. Якщо встановлено значення copies або copy, Git також виявлятиме копії. Стандартне значення — true. Зверніть увагу, що це впливає лише на git diff Porcelain, такі як git-diff[1] та git-log[1], а не на команди нижчого рівня, такі як git-diff-files[1].

diff.suppressBlankEmpty

Булеве значення, яке пригнічує стандартну поведінку, що передбачає вставку пробілу перед кожним порожнім рядком виводу. Стандартне значення — false.

diff.submodule

Визначає формат, у якому показуються відмінності в субмодулях. Формат short показує лише імена комітів на початку та в кінці діапазону. Формат log перелічує коміти в діапазоні так само як це робить summary у linkgit:git-submodule[1]. Формат diff показує вбудований порівняльний вигляд зміненого вмісту субмодуля. Стандартним є short.

diff.wordRegex

Розширений регулярний вираз POSIX, що використовується для визначення поняття «слово» під час обчислення відмінностей пословно. Послідовності символів, що відповідають цьому регулярному виразу, є «словами», а всі інші символи — це ігноровані пробіли.

diff.<driver>.command

Команда власного драйвера diff. Див. gitattributes[5] для отримання детальної інформації.

diff.<driver>.trustExitCode

Якщо для цього булевого значення встановлено значення true, то команда diff.<driver>.command повинна повертати код завершення 0, якщо вона вважає вхідні файли однаковими, або 1, якщо вважає їх різними, як і diff(1). Якщо встановлено значення false (що є стандартним значенням), то команда повинна повертати код завершення 0 незалежно від того, чи файли однакові. Будь-який інший код завершення змушує Git повідомити про фатальну помилку.

diff.<driver>.xfuncname

Регулярний вираз, який драйвер diff повинен використовувати для розпізнавання заголовка фрагмента. Також може використовуватися вбудований шаблон. Див. gitattributes[5] для отримання детальної інформації.

diff.<driver>.binary

Встановлення для цього параметра значення true змушує драйвер diff обробляти файли як бінарні. Детальніше див. gitattributes[5].

diff.<driver>.textconv

Команда, яку драйвер diff має викликати для створення текстової версії файлу. Результат перетворення використовується для створення зручного для читання diff. Див. gitattributes[5] для отримання детальної інформації.

diff.<driver>.wordRegex

Регулярний вираз, який драйвер diff має використовувати для розділення слів у рядку. Див. gitattributes[5] для отримання детальної інформації.

diff.<driver>.cachetextconv

Встановлення цього параметра в значення true змусить драйвер diff кешувати результати перетворення тексту. Детальніше див. gitattributes[5].

diff.indentHeuristic

Встановлення цього параметра в значення false дозволить вимкнути стандартну евристику, яка зміщує межі фрагментів diff для полегшення читання латок.

diff.algorithm

Вибір алгоритму порівняння. Є наступні варіанти:

default
myers

Базовий алгоритм «жадібного» порівняння. Наразі це типове значення.

minimal

Витрачає додатковий час, щоб переконатися, що отримано найменший можливий diff.

patience

При створенні латок використовується алгоритм «patience diff».

histogram

Цей алгоритм розширює алгоритм «patience» для «підтримки рідкісних загальних елементів».

diff.wsErrorHighlight

Підсвічувати помилки у пробілах у рядках context, old або new у diff. Кілька значень розділяються комою, none скидає попередні значення, default скидає список до new, а all є скороченим варіантом old,new,context. Помилки пробілів підсвічуються кольором color.diff.whitespace. Параметр командного рядка --ws-error-highlight=<kind> замінює це налаштування.

diff.colorMoved

Якщо встановлено дійсне значення <mode> або true, переміщені рядки в diff матимуть інший колір. Детальніше про допустимі режими див. у розділі --color-moved у git-diff[1]. Якщо просто встановити значення true, буде використано стандартний колірний режим. Коли встановлено значення false, переміщені лінії не забарвлюються.

diff.colorMovedWS

Коли переміщені рядки забарвлюються, наприклад, за допомогою параметра diff.colorMoved, цей параметр контролює режим обробки пробілів. Докладніше про допустимі режими див. у --color-moved-ws у git-diff[1].

Warning

Missing uk/config/difftool.adoc

See original version for this content.

Warning

Missing uk/config/extensions.adoc

See original version for this content.

Warning

Missing uk/config/fastimport.adoc

See original version for this content.

Warning

Missing uk/config/feature.adoc

See original version for this content.

Warning

Missing uk/config/fetch.adoc

See original version for this content.

Warning

Missing uk/config/filter.adoc

See original version for this content.

Warning

Missing uk/config/format.adoc

See original version for this content.

Warning

Missing uk/config/fsck.adoc

See original version for this content.

Warning

Missing uk/config/fsmonitor--daemon.adoc

See original version for this content.

Warning

Missing uk/config/gc.adoc

See original version for this content.

Warning

Missing uk/config/gitcvs.adoc

See original version for this content.

Warning

Missing uk/config/gitweb.adoc

See original version for this content.

Warning

Missing uk/config/gpg.adoc

See original version for this content.

Warning

Missing uk/config/grep.adoc

See original version for this content.

Warning

Missing uk/config/gui.adoc

See original version for this content.

Warning

Missing uk/config/guitool.adoc

See original version for this content.

Warning

Missing uk/config/help.adoc

See original version for this content.

Warning

Missing uk/config/http.adoc

See original version for this content.

Warning

Missing uk/config/i18n.adoc

See original version for this content.

Warning

Missing uk/config/imap.adoc

See original version for this content.

Warning

Missing uk/config/includeif.adoc

See original version for this content.

Warning

Missing uk/config/index.adoc

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 мають пріоритет над цією конфігурацією.

Warning

Missing uk/config/instaweb.adoc

See original version for this content.

Warning

Missing uk/config/interactive.adoc

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 команди git log. Детальніше див. git-log[1].

Якщо для параметра форматування встановлено значення "auto:foo" і використовується pager, для форматування дати буде застосовано формат "foo". В іншому випадку буде застосовано формат "default".

log.decorate

Виводити назви ref усіх комітів, які показує команда log. Можливі значення:

short

префікси імен посилань refs/heads/, refs/tags/ та refs/remotes/ не виводяться.

full

виводиться повна назва посилання (включно з префіксом).

auto

якщо вивід йде в термінал, імена ref показуються так, ніби було вказано short, в іншому випадку імена ref не показуються.

Це те саме, що й опція --decorate команди git log.

log.initialDecorationSet

Зазвичай git log показує лише оформлення для певних відомих просторів імен ref. Якщо вказано «all», то всі refs показуються з оформленням.

log.excludeDecoration

Виключити вказані шаблони з оформлення журналу. Це аналогічно параметру командного рядка --decorate-refs-exclude, але значення цього параметра конфігурації може бути замінено параметром --decorate-refs.

log.diffMerges

Встановлює формат diff, який буде використовуватися при вказанні параметра --diff-merges=on. Детальніше див. --diff-merges у git-log[1]. Стандартним значенням є separate.

log.follow

Якщо встановлено значення true, команда git log буде працювати так, ніби було вказано опцію --follow, коли задано один <path>. Ця опція має ті самі обмеження, що й --follow, тобто її не можна використовувати для відстеження декількох файлів, і вона не працює належним чином у разі нелінійної історії.

log.graphColors

Список кольорів, розділених комами, які можна використовувати для виводу ліній історії в команді git log --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 uk/config/lsrefs.adoc

See original version for this content.

Warning

Missing uk/config/mailinfo.adoc

See original version for this content.

Warning

Missing uk/config/mailmap.adoc

See original version for this content.

Warning

Missing uk/config/maintenance.adoc

See original version for this content.

Warning

Missing uk/config/man.adoc

See original version for this content.

merge.conflictStyle

Вкажіть стиль, у якому конфліктні фрагменти записуються у файли робочого дерева під час обʼєднання. Стандартне значення — "merge", показує маркер конфлікту <<<<<<<, зміни, внесені однією стороною, маркер =======, зміни, внесені іншою стороною, а потім маркер >>>>>>>. Альтернативний стиль, "diff3", додає маркер ||||||| та оригінальний текст перед маркером =======. Стиль "merge", як правило, створює менші області конфлікту, ніж diff3, як через виключення оригінального тексту, так і тому, що коли підмножина рядків збігається з двох сторін, вони просто витягуються з області конфлікту. Інший альтернативний стиль, "zdiff3", подібний до diff3, але видаляє з області конфлікту рядки, що збігаються з двох сторін, коли ці рядки, що збігаються, зʼявляються поблизу початку або кінця області конфлікту.

merge.defaultToUpstream

Якщо команда merge викликається без аргументу commit, виконується злиття гілок upstream, налаштованих для поточної гілки, з використанням їхніх останніх значень, збережених у гілках remote-tracking. Перевіряються значення branch.<current branch>.merge, які називають гілки на віддаленому сервері, названому branch.<current-branch>.remote, а потім вони зіставляються за допомогою 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

Якщо додати до цієї багатозначної конфігураційної змінної шаблон, що відповідає назвам гілок інтеграції, у титулі стандартного повідомлення про злиття, яке генерується під час злиття в ці гілки інтеграції, буде опущено фрагмент «into <branch-name>».

Елемент із порожнім значенням можна використовувати для очищення списку шаблонів, накопичених з попередніх записів конфігурації. Якщо змінна merge.suppressDest не визначена, для зворотної сумісності стандартно використовується значення master.

merge.renameLimit

Кількість файлів, які слід враховувати під час вичерпної перевірки на перейменування під час злиття. Якщо значення не вказано, зазвичай використовується значення diff.renameLimit. Якщо не вказано ані merge.renameLimit, ані diff.renameLimit, зазвичай використовується значення 7000. Цей параметр не діє, якщо виявлення перейменувань вимкнено.

merge.renames

Чи виявляє Git перейменування. Якщо встановлено значення false, виявлення перейменування вимкнено. Якщо встановлено значення true, базове виявлення перейменування ввімкнено. Стандартне значення визначається в diff.renames.

merge.directoryRenames

Чи виявляє Git перейменування тек, що впливає на те, як під час злиття обробляються нові файли, додані до теки на одному боці історії, якщо ця тека була перейменована на іншому боці історії. Можливі значення:

false

Виявлення перейменування тек вимкнено, тобто такі нові файли залишаться у старій теці.

true

Виявлення перейменування тек увімкнено, тобто такі нові файли будуть переміщені до нової теки.

conflict

Для таких шляхів буде повідомлено про конфлікт.

Якщо merge.renames має значення false, merge.directoryRenames ігнорується та обробляється як false. Стандартне значення —conflict.

merge.renormalize

Повідомте Git, що канонічне представлення файлів у репозиторії з часом змінилося (наприклад, попередні коміти записували текстові файли із закінченнями рядків CRLF, але новіші використовують закінчення рядків LF). У такому репозиторії, для кожного файлу, де потрібне тристороннє злиття вмісту, Git може конвертувати дані, записані в комітах, у канонічну форму перед виконанням злиття, щоб зменшити непотрібні конфлікти. Для отримання додаткової інформації див. розділ «Злиття гілок із різними атрибутами checkin/checkout» в gitattributes[5].

merge.stat

Визначає, що друкувати (якщо взагалі щось) між ORIG_HEAD і результатом злиття наприкінці процесу злиття. Можливі значення:

false

Нічого не показувати.

true

Показати git diff --diffstat --summary ORIG_HEAD.

compact

Показати git diff --compact-summary ORIG_HEAD.

але будь-яке нерозпізнане значення (наприклад, значення, додане майбутньою версією Git) сприймається як true, а не викликає помилку. Стандартне значення —true.

merge.autoStash

Якщо встановлено значення true, автоматично створюється тимчасовий запис stash перед початком операції та застосовується після її завершення. Це означає, що ви можете запустити злиття на некоректному робочому дереві. Однак використовуйте обережно: остаточне застосування stash після успішного злиття може призвести до нетривіальних конфліктів. Цей параметр можна перевизначити параметрами --no-autostash та --autostash параметра git-merge[1]. Стандартне значення — false.

merge.tool

Керує тим, який інструмент злиття використовується git-mergetool[1]. У списку нижче наведено дійсні вбудовані значення. Будь-яке інше значення розглядається як власний інструмент злиття та вимагає визначення відповідної змінної mergetool.<tool>.cmd.

merge.guitool

Керує тим, який інструмент злиття використовується git-mergetool[1], коли вказано прапорець -g/--gui. У списку нижче наведено дійсні вбудовані значення. Будь-яке інше значення розглядається як власний інструмент злиття та вимагає визначення відповідної змінної mergetool.<guitool>.cmd.

Warning

Missing uk/config/{build_dir}/mergetools-merge.adoc

See original version for this content.

merge.verbosity

Контролює обсяг виводу, що відображається стратегією рекурсивного злиття. Рівень 0 не виводить нічого, окрім остаточного повідомлення про помилку, якщо виявлено конфлікти. Рівень 1 виводить лише конфлікти, 2 виводить конфлікти та зміни файлів. Рівень 5 і вище виводить інформацію для налагодження. Стандартно використовується рівень 2. Може бути перевизначений змінною середовища GIT_MERGE_VERBOSITY.

merge.<driver>.name

Визначає зрозумілу для людини назву для власного драйвера злиття низького рівня. Див. gitattributes[5] для отримання детальної інформації.

merge.<driver>.driver

Визначає команду, яка реалізує власний драйвер злиття низького рівня. Див. gitattributes[5] для отримання детальної інформації.

merge.<driver>.recursive

Визначає драйвер злиття низького рівня, який буде використовуватися під час виконання внутрішнього злиття між спільними предками. Див. gitattributes[5] для отримання детальної інформації.

mergetool.<tool>.path

Перевизначає шлях для вказаного інструменту. Є корисним у випадку, якщо ваш інструмент відсутній у змінній $PATH.

mergetool.<tool>.cmd

Визначає команду для запуску вказаного інструменту злиття. Вказана команда виконується в оболонці з наступними доступними змінними: BASE — ім’я тимчасового файлу, що містить спільну базу файлів, які потрібно злити, якщо така є; LOCAL — ім’я тимчасового файлу, що містить вміст файлу з поточної гілки; REMOTE — ім’я тимчасового файлу, що містить вміст файлу з гілки, яка зливається; MERGED містить ім’я файлу, в який інструмент злиття повинен записати результати успішного злиття.

mergetool.<tool>.hideResolved

Дозволяє користувачеві замінити глобальне значення mergetool.hideResolved для конкретного інструменту. Повний опис див. у розділі mergetool.hideResolved.

mergetool.<tool>.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.<variant>.layout

Налаштовує макет розділеного вікна для <variant> vimdiff, яким може бути будь-який із варіантів: vimdiff, nvimdiff, gvimdiff. При запуску git mergetool з параметром --tool=<variant> (або без --tool, якщо merge.tool налаштовано як <variant>), Git звернеться до файлу mergetool. <variant>.layout, щоб визначити макет інструменту. Якщо конфігурація для конкретного варіанту недоступна, як запасний варіант використовується конфігурація vimdiff. Якщо вона також недоступна, буде використано макет за замовчуванням із 4 вікнами. Щоб налаштувати макет, див. розділ «ПОРАДИ, ЩО СТОСУЮТЬСЯ БЕКЕНДУ» розділ в git-mergetool[1].

mergetool.hideResolved

Під час злиття Git автоматично розвʼяже якомога більше конфліктів і створить файл $MERGED, що містить маркери конфліктів навколо тих конфліктів, які він не може вирішити; $LOCAL та $REMOTE зазвичай містять версії файлу, що існували до розвʼязання конфліктів Git. Цей прапорець призводить до перезапису $LOCAL та $REMOTE, щоб інструменту злиття були представлені лише нерозвʼязані конфлікти. Може бути налаштований для кожного інструменту окремо за допомогою змінної конфігурації mergetool.<tool>.hideResolved. Стандартне значення — false.

mergetool.keepBackup

Після об’єднання оригінальний файл із позначками конфліктів можна зберегти як файл із розширенням .orig. Якщо для цієї змінної встановлено значення false, цей файл не зберігається. Стандартне значення — true (тобто резервні копії файлів зберігаються).

mergetool.keepTemporaries

Під час виклику власного інструменту злиття Git використовує набір тимчасових файлів, які передаються цьому інструменту. Якщо інструмент повертає помилку, а ця змінна має значення true, ці тимчасові файли будуть збережені; в іншому випадку вони будуть видалені після завершення роботи інструменту. Стандартне значення — false.

mergetool.writeToTemp

Стандартно Git створює тимчасові версії конфліктуючих файлів у робочому дереві з іменами BASE, LOCAL та REMOTE. Якщо для цього параметра встановлено значення true, Git спробує використовувати для цих файлів тимчасову теку. Стандартне значення — false.

mergetool.prompt

Показувати запит перед кожним запуском програми узгодження злиття.

mergetool.guiDefault

Встановіть значення true, щоб автоматично використовувати merge.guitool (це еквівалентно вказанню аргументу --gui), або auto, щоб вибрати merge.guitool чи merge.tool залежно від наявності значення змінної середовища DISPLAY. Стандартним значенням є false, де для використання merge.guitool необхідно явно вказати аргумент --gui.

notes.mergeStrategy

Яку стратегію обʼєднання вибрати у якості стандартної під час розвʼязання конфліктів у нотатках. Може бути одним зі значень: manual, ours, theirs, union або cat_sort_uniq. Стандартним значенням є manual. Докладнішу інформацію про кожну стратегію див. у розділі «СТРАТЕГІЇ ОБ’ЄДНАННЯ НОТАТОК» документації git-notes[1].

Цю настройку можна замінити, передавши параметр --strategy у командному рядку git-notes[1].

notes.<name>.mergeStrategy

Яку стратегію злиття обрати під час злиття нотаток у refs/notes/<name>. Цей параметр замінює більш загальний параметр notes.mergeStrategy. Докладнішу інформацію про доступні стратегії див. у розділі «СТРАТЕГІЇ ЗЛИТТЯ НОТАТОК» в git-notes[1].

notes.displayRef

Який ref (або refs, якщо вказано загальний параметр або кілька разів), крім стандартного, заданого за допомогою core.notesRef або GIT_NOTES_REF, слід використовувати для зчитування приміток під час показу повідомлень про коміти за допомогою команд із сімейства git log.

Це налаштування можна замінити за допомогою змінної середовища GIT_NOTES_DISPLAY_REF, яка має містити список ref або glob, розділених двокрапкою.

Для посилань, яких не існує, буде видано попередження, але глобальний обʼєкт, який не відповідає жодному посиланню, буде проігнорований.

Це налаштування можна вимкнути за допомогою опції --no-notes у сімействі команд git-log[1] або за допомогою опції --notes=<ref>, яку підтримують ці команди.

Фактичне значення core.notesRef (яке, можливо, замінено GIT_NOTES_REF) також неявним чином додається до списку refs для показу.

notes.rewrite.<command>

Під час перезапису комітів за допомогою <команди> (наразі amend або rebase), якщо ця змінна має значення false, git не копіюватиме примітки з оригінального коміту до перезаписаного. Стандартне значення — true. Див. також notes.rewriteRef нижче.

Це налаштування можна замінити за допомогою змінної середовища GIT_NOTES_REWRITE_REF, яка має містити список refs або globs, розділених двокрапкою.

notes.rewriteMode

Під час копіювання приміток під час перезапису (див. опцію notes.rewrite.<command>) визначає, що робити, якщо цільовий коміт уже містить примітку. Може приймати значення overwrite, concatenate, cat_sort_uniq або ignore. Стандартним значенням є concatenate.

Це налаштування можна замінити за допомогою змінної середовища GIT_NOTES_REWRITE_MODE.

notes.rewriteRef

Під час копіювання нотаток у процесі перезапису цей параметр визначає (повністю кваліфікований) ref, нотатки якого слід скопіювати. Він може мати вигляд шаблону, і в цьому випадку будуть скопійовані нотатки з усіх відповідних ref. Цей параметр можна вказати кілька разів.

Ця змінна не має стандартного значення; щоб увімкнути перезапис приміток, її потрібно налаштувати. Встановіть для неї значення refs/notes/commits, щоб увімкнути перезапис стандартних приміток до комітів.

Це значення можна замінити за допомогою змінної середовища GIT_NOTES_REWRITE_REF. Детальніше про формат цієї змінної див. у розділі notes.rewrite.<command> вище.

Warning

Missing uk/config/pack.adoc

See original version for this content.

Warning

Missing uk/config/pager.adoc

See original version for this content.

Warning

Missing uk/config/pretty.adoc

See original version for this content.

Warning

Missing uk/config/promisor.adoc

See original version for this content.

Warning

Missing uk/config/protocol.adoc

See original version for this content.

Warning

Missing uk/config/pull.adoc

See original version for this content.

Warning

Missing uk/config/push.adoc

See original version for this content.

Warning

Missing uk/config/rebase.adoc

See original version for this content.

Warning

Missing uk/config/receive.adoc

See original version for this content.

Warning

Missing uk/config/reftable.adoc

See original version for this content.

Warning

Missing uk/config/remote.adoc

See original version for this content.

Warning

Missing uk/config/remotes.adoc

See original version for this content.

Warning

Missing uk/config/repack.adoc

See original version for this content.

Warning

Missing uk/config/rerere.adoc

See original version for this content.

Warning

Missing uk/config/revert.adoc

See original version for this content.

Warning

Missing uk/config/safe.adoc

See original version for this content.

Warning

Missing uk/config/sendemail.adoc

See original version for this content.

Warning

Missing uk/config/sequencer.adoc

See original version for this content.

Warning

Missing uk/config/showbranch.adoc

See original version for this content.

Warning

Missing uk/config/sparse.adoc

See original version for this content.

Warning

Missing uk/config/splitindex.adoc

See original version for this content.

Warning

Missing uk/config/ssh.adoc

See original version for this content.

stash.index

Якщо для цього параметра встановлено значення true, команди git stash apply та git stash pop працюватимуть так, ніби було вказано параметр --index. Стандартне значення — false. See the descriptions in git-stash[1].

Це також впливає на виклики команди git-stash[1] з параметром --autostash у таких командах, як git-merge[1], git-rebase[1] та git-pull[1].

stash.showIncludeUntracked

Якщо для цього параметра встановлено значення true, команда git stash show покаже файли, що не відстежуються, в елементі сховища. Стандартне значення — false. See the description of the 'show' command in git-stash[1].

stash.showPatch

Якщо для цього параметра встановлено значення true, команда git stash show без додаткових опцій відображатиме запис про тимчасове збереження у вигляді латки. Стандартне значення — false. See the description of the 'show' command in git-stash[1].

stash.showStat

Якщо для цього параметра встановлено значення true, команда git stash show без додаткових опцій відображатиме diffstat запису в сховку. Стандартне значення — true. See the description of the 'show' command in git-stash[1].

Warning

Missing uk/config/status.adoc

See original version for this content.

Warning

Missing uk/config/submodule.adoc

See original version for this content.

tag.forceSignAnnotated

Булеве значення, що визначає, чи слід підписувати створені теги з анотаціями за допомогою GPG. Якщо в командному рядку вказано параметр --annotate, він має пріоритет над цим параметром.

tag.sort

Ця зміна керує порядком сортування тегів, що виводяться git-tag[1]. Без використання параметра `--sort=<value>`значення цієї змінної будуть використовуватись як стандартне значення.

tag.gpgSign

Булева змінна, що визначає, чи слід підписувати всі теги за допомогою GPG. Використання цієї опції під час запуску в автоматизованому скрипті може призвести до підписання великої кількості тегів. Тому для того, щоб уникнути багаторазового введення пароля GPG, доцільно використовувати агент. Зверніть увагу, що ця опція не впливає на поведінку підписання тегів, увімкнену за допомогою опцій -u <keyid> або --local-user=<keyid>.

Warning

Missing uk/config/tar.adoc

See original version for this content.

Warning

Missing uk/config/trace2.adoc

See original version for this content.

Warning

Missing uk/config/trailer.adoc

See original version for this content.

Warning

Missing uk/config/transfer.adoc

See original version for this content.

Warning

Missing uk/config/uploadarchive.adoc

See original version for this content.

Warning

Missing uk/config/uploadpack.adoc

See original version for this content.

Warning

Missing uk/config/url.adoc

See original version for this content.

Warning

Missing uk/config/user.adoc

See original version for this content.

Warning

Missing uk/config/versionsort.adoc

See original version for this content.

Warning

Missing uk/config/web.adoc

See original version for this content.

worktree.guessRemote

Якщо гілка не вказана і не використовуються параметри -b, -B або --detach, то git worktree add стандартно створює нову гілку з HEAD. Якщо worktree.guessRemote встановлено в значення true, worktree add намагається знайти гілку віддаленого відстеження, імʼя якої однозначно збігається з іменем нової гілки. Якщо така гілка існує, вона вибирається і встановлюється як «upstream» для нової гілки. Якщо такого збігу не вдається знайти, виконується створення нової гілки з поточного HEAD.

worktree.useRelativePaths

Повʼязує робочі дерева за допомогою відносних шляхів (якщо встановлено значення «true») або абсолютних шляхів (якщо встановлено значення «false»). Це особливо корисно в ситуаціях, коли репозиторій та робочі дерева можуть переміщуватися між різними місцями або середовищами. Стандартне значення — «false».

Зверніть увагу, що встановлення для параметра worktree.useRelativePaths значення «true» означає увімкнення параметра конфігурації extensions.relativeWorktrees (див. git-config[1]), що робить його несумісним зі старими версіями Git.

ПОМИЛКИ

Під час використання застарілого синтаксису [section.subsection] зміна значення призведе до додавання багаторядкового ключа замість зміни, якщо підрозділ задано принаймні одним символом верхнього регістру. Наприклад, коли конфігурація виглядає так

  [section.subsection]
    key = value1

а запуск git config section.Subsection.key value2 призведе до

  [section.subsection]
    key = value1
    key = value2

GIT

Частина набору git[1]