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 [<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=<type> вказує команді git config забезпечити можливість канонізації вхідних і вихідних значень відповідно до заданого <type>. Якщо параметр --type=<type> не вказано, канонізація не виконуватиметься. Користувачі можуть скасувати дію наявного параметра --type за допомогою --no-type.
Під час зчитування, значення зазвичай беруться з системних, глобальних та локальних файлів конфігурації репозиторію, а параметри --system, --global, --local, --worktree та --file <filename> дозволяють вказати команді зчитувати дані лише з цього місця (див. ФАЙЛИ).
Під час запису, нове значення зазвичай записується у локальний файл конфігурації репозиторію, а параметри --system, --global, --worktree, --file <filename> можна використовувати, щоб вказати команді, куди саме слід записати дані (можна вказати --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=<pattern>). - --append
-
Додає новий рядок до опції, не змінюючи жодних наявних значень. Це те саме, що й надання --value=^$ у
set. - --comment <повідомлення>
-
Додає коментар у кінці нових або змінених рядків.
Якщо <повідомлення> починається з одного або кількох пробілів, за якими йде "", воно використовується як є. Якщо воно починається з "", перед ним додається пробіл. В іншому випадку до нього додається рядок " # " (пробіл, за яким йде хеш, а потім пробіл). Отриманий рядок розміщується одразу після значення, визначеного для змінної. <Повідомлення> не повинно містити символів переведення рядка (багаторядкові коментарі не дозволені).
- --all
-
За допомогою функції
getповертає всі значення для багатозначного ключа. - --regexp
-
За допомогою команди
getінтерпретує назву як регулярний вираз. Зіставлення регулярних виразів наразі враховує регістр і виконується з канонізованою версією ключа, в якій назви розділів і змінних пишуться у нижнього регістру, а назви підрозділів — ні. - --url=<URL>
-
Якщо вказано двокомпонентне імʼя <name> у форматі <section>.<key>, повертається значення для <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до домашньої теки зазначеного користувача. Цей специфікатор не впливає на встановлення значення (але ви можете використатиgitconfigsection.variable~/з командного рядка, щоб ваша оболонка виконала розгортання). -
expiry-date: канонізувати шляхом перетворення фіксованого або відносного рядка дати на відбиток часу. Цей специфікатор не впливає на встановлення значення.
-
color: під час отримання значення виконується канонізація шляхом перетворення у послідовність кодування кольорів 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і в <name> немає підрозділів. - --show-origin
-
Доповнює вивід усіх запитуваних параметрів конфігурації типом походження (файл, стандартний ввід, блоб, командний рядок) та фактичним походженням (шлях до файлу конфігурації, посилання або ідентифікатор блобу, якщо застосовно).
- --show-scope
-
Подібно до параметра
--show-origin, доповнює вивід усіх запитаних параметрів конфігурації інформацією про область дії цього значення (worktree, local, global, system, command). - --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>
-
Замінено на
gitconfigget<name>. - git config <name> <value> [<value-pattern>]
-
Замінено на
gitconfigset[--value=<pattern>] <name> <value>. - -l
- --list
-
Замінено на
gitconfiglist. - --get <name> [<value-pattern>]
-
Замінено на
gitconfigget[--value=<pattern>] <name>. - --get-all <name> [<value-pattern>]
-
Замінено на
gitconfigget[--value=<pattern>]--all<name>. - --get-regexp <ім’я-регулярний вираз>
-
Замінено на
gitconfigget--all--show-names--regexp<name-regexp>. - --get-urlmatch <name> <URL>
-
Замінено на
gitconfigget--all--show-names--url=<URL> <name>. - --get-color <name> [<default>]
-
Замінено на
gitconfigget--type=color[--default=<default>] <name>. - --add <name> <value>
-
Замінено на
gitconfigset--append<name> <value>. - --unset <name> [<value-pattern>]
-
Замінено на
gitconfigunset[--value=<pattern>] <name>. - --unset-all <name> [<value-pattern>]
-
Замінено на
gitconfigunset[--value=<pattern>]--all<name>. - --rename-section <old-name> <new-name>
-
Замінено на
gitconfigrename-section<old-name> <new-name>. - --remove-section <імʼя>
-
Замінено на
gitconfigremove-section<name>. - -e
- --edit
-
Замінено на
gitconfigedit.
КОНФІГУРАЦІЯ
pager.config враховується лише під час перегляду списку конфігурацій, тобто при використанні команд list або get, які можуть повертати кілька результатів. Стандартним є використання pager.
ФАЙЛИ
Зазвичай, git config зчитуватиме параметри конфігурації з кількох файлів:
- $(prefix)/etc/gitconfig
-
Загальносистемний файл конфігурації.
- $XDG_CONFIG_HOME/git/config
- ~/.gitconfig
-
Файли конфігурації для конкретного користувача. Якщо змінна середовища XDG_CONFIG_HOME не задана або має порожнє значення, як $XDG_CONFIG_HOME використовується тека $HOME/.config/.
Їх також називають «глобальними» файлами конфігурації. Якщо обидва файли існують, вони зчитуються в порядку, зазначеному вище.
- $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
- worktree
-
$GIT_DIR/config.worktree
- command
-
Змінні середовища GIT_CONFIG_{COUNT,KEY,VALUE} (див. НАВКОЛИШНЄ СЕРЕДОВИЩЕ нижче)
опція
-c
За винятком command, кожна область дії відповідає параметру командного рядка: --system, --global, --local, --worktree.
Під час читання параметрів, якщо вказати область дії, параметри будуть зчитуватися лише з файлів у межах цієї області дії. Під час запису параметрів, якщо вказати область дії, параметри будуть записуватися у файли в межах цієї області (замість файлу конфігурації репозиторію). Повний опис див. у ПАРАМЕТРАХ вище.
Більшість параметрів конфігурації враховуються незалежно від області їх визначення, але деякі параметри враховуються лише в певних областях. Повні відомості дивіться в документації відповідного параметра.
Захищена конфігурація
Захищена конфігурація стосується областей дії system, global та command . З міркувань безпеки певні параметри враховуються лише тоді, коли вони вказані в захищеній конфігурації, та ігноруються в іншому випадку.
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
-
Якщо для
gitconfigне надано опцію--file, використовується файл, наданийGIT_CONFIG, так, ніби його надано через--file. Ця змінна не впливає на інші команди Git і здебільшого призначена для історичної сумісності; зазвичай немає причин використовувати її замість опції--file.
ПРИКЛАДИ
Враховуючи що .git/config виглядає подібним чином:
# # Це конфігураційний файл, і # символ '#' або ';' вказує # на коментар # ; основні змінні [core] ; Не покладатися на атрибути файлів filemode = false ; Наш diff алгоритм [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]. У цьому синтаксисі назва підрозділу перетворюється на малу літеру та порівнюється з урахуванням регістру. Ці назви підрозділів дотримуються тих самих обмежень, що й назви розділів.
Усі інші рядки (а також частина рядка, що йде після заголовка розділу) розпізнаються як визначення змінних у форматі name = value (або просто name що є скороченим записом, який означає, що змінна має булеве значення «true»). У назвах змінних не враховується регістр, допускаються лише алфавітно-цифрові символи та -, а починатися вони повинні з літери.
Пробільні символи навколо name, = та value відкидаються. Внутрішні пробільні символи всередині value зберігаються дослівно. Коментарі, що починаються з # або ; і продовжуються до кінця рядка, відкидаються. Рядок, який визначає значення, можна продовжити до наступного рядка, завершивши його зворотною скісною рискою (\); зворотна скісна риска та символи кінця рядка відкидаються.
Якщо value має містити початкові або кінцеві пробіли, його потрібно взяти в подвійні лапки ("). Усередині подвійних лапок символи подвійних лапок (") та зворотної скісної риски (\) повинні бути екрановані: використовуйте \" замість " та \\ замість \.
Розпізнаються такі escape-послідовності (окрім \" та \\): \n для символу нового рядка (NL), \t для горизонтальної табуляції (HT, TAB) та \b для символу backspace (BS). Інші escape-послідовності символів (включаючи вісімкові escape-послідовності) є недійсними.
Розділ Include
Розділи include та includeIf дозволяють вам включати директиви конфігурації з іншого джерела. Ці розділи поводяться ідентично один одному, за винятком того, що розділи includeIf можуть ігноруватися, якщо їхня умова не є true; див. "Умовні включення" нижче.
Ви можете включити файл конфігурації з іншого місця, встановивши для спеціальної змінної include.path (або includeIf.*.path) ім’я файлу, який потрібно включити. Ця змінна приймає шлях до файлу як значення, причому в ньому відбувається розгортання символів тильди. Ці змінні можна вказати кілька разів.
Вміст файлу, що включається, вставляється безпосередньо, ніби він був знайдений у місці розташування директиви include. Якщо значення змінної є відносним шляхом, цей шлях вважається відносним до конфігураційного файлу, в якому була знайдена директива include. Приклади наведено нижче.
Умовне включення
Ви можете умовно включити файл конфігурації з іншого, встановивши для змінної includeIf.<умова>.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 [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. Крім того, змінна, визначена без=<значення>, вважається істинною. - false
-
Булеві літерали «хибності» це:
no,off,false,0та порожній рядок.Під час перетворення значення до його канонічної форми за допомогою специфікатора типу
--type=bool, git config гарантуватиме, що вивід буде "true" або "false" (пишеться малими літерами).
- integer
-
Значення багатьох змінних, що визначають різні розміри, можуть мати суфікси
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; вони використовують 256-кольоровий режим ANSI (але зауважте, що не всі термінали можуть підтримувати це). Якщо ваш термінал підтримує це, ви також можете вказати 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(застарілий) -
Наказує
gitaddпродовжувати додавання файлів, якщо деякі файли неможливо додати через помилки індексації. Еквівалентно опції--ignore-errorsу git-add[1].add.ignore-errorsзастарів, оскільки він не відповідає звичайним правила іменування для змінних конфігурації.
|
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.<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>, це вказує командам
gitfetchтаgitpush, з якого віддаленого сервера слід завантажувати дані або на який їх надсилати. Віддалений сервер для надсилання даних можна перевизначити за допомогою параметра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визначає гілку-джерело для вказаної гілки. Вказує командамgitfetch/gitpull/gitrebase, яку гілку слід об’єднати, а також може впливати на командуgitpush(див.push.default). Перебуваючи в гілці <name>, вказує командіgitfetchстандартне значення refspec, яке слід позначити для об’єднання вFETCH_HEAD. Значення обробляється як віддалена частина refspec і має відповідати ref, який завантажується з віддаленого репозиторію, вказаногоbranch.<name>.remote. Інформація про злиття використовуєтьсяgitpull(який спочатку викликаєgitfetch) для пошуку стандартної гілки для злиття. Без цієї опціїgitpullстандартно зливає перший завантажений refspec. Вкажіть кілька значень, щоб отримати злиття «octopus». Якщо ви хочете налаштуватиgitpullтак, щоб він зливав у <name> з іншої гілки в локальному репозиторії, ви можете вказатиbranch.<name>.mergeна бажану гілку та використовувати відносний шлях.(крапка) дляbranch.<name>.remote. -
branch.<name>.mergeOptions -
Встановлює стандартні параметри для злиття у гілку <name>. Синтаксис та підтримувані параметри відповідають тим, що використовуються у команді git-merge[1], однак значення параметрів, що містять пробіли, наразі не підтримуються.
-
branch.<name>.rebase -
Якщо встановлено, під час виконання команди
gitpullгілку <name> буде перебазовано на вершину завантаженої гілки замість стандартно злиття з гілкою зі стандартного віддаленого репозиторію. Щоб виконати цю дію незалежно від конкретної гілки, див. параметрpull.rebase.У разі використання команди
merges(або простоm) передайте опцію--rebase-mergesкомандіgitrebase, щоб локальні коміти злиття були включені в перебазування (детальніше див. git-rebase[1]).Якщо значення дорівнює
interactive(або простоi), перебазування виконується в інтерактивному режимі.УВАГА: ця операція може бути небезпечною; не використовуйте її, якщо не розумієте всіх наслідків (детальніше див. git-rebase[1]).
-
branch.<name>.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. Його можна перевизначити, передавши--originу командному рядку у git-clone[1]. -
clone.rejectShallow -
Відхиляє клонування репозиторію, якщо він поверхневий; це можна змінити, передавши опцію
--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, доцільно скористатися агентом.
-
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для порівняння з файлами робочого дерева зміни, що стосуються лише статистичних даних, не розглядаються як зміни. Натомість без попередження виконується командаgitupdate-index--refresh, щоб оновити кешовану інформацію про статистику для шляхів, вміст яких у робочому дереві збігається з вмістом індексу. Типовим значенням цієї опції єtrue. Зверніть увагу, що це впливає лише наgitdiffPorcelain, а не на командиdiffнижчого рівня, такі якgitdiff-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нижчого рівня, такі якgitdiff-files. Командиgitcheckoutтаgitswitchтакож враховують це налаштування під час показу змін, що не зафіксовані. Встановлення значенняallвимикає вивід підсумкової інформації субмодулів, яка зазвичай показується командамиgitcommitтаgitstatus, коли встановленоstatus.submoduleSummary, якщо це не замінено за допомогою опції командного рядка--ignore-submodules. На командиgitsubmoduleце налаштування не впливає. Стандартно встановлено значення untracked, щоб ігнорувати будь-які не відстежувані субмодулі. -
diff.mnemonicPrefix -
Якщо встановлено,
gitdiffвикористовує пару префіксів, яка відрізняється від стандартнихa/таb/, залежно від того, що порівнюється. Коли ця конфігурація діє, зворотний вивід diff також змінює порядок префіксів:-
gitdiff -
порівнює індекс (i) та робоче дерево (w);
-
gitdiffHEAD -
порівнює коміт (c) та робоче дерево (w);
-
gitdiff--cached -
порівнює коміт (c) та індекс (i);
-
gitdiffHEAD:<файл1> <файл2> -
порівнює об’єкт (o) та елемент робочого дерева (w);
-
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 -
Файл, що вказує, як упорядкувати файли в межах diff. Дивіться опис параметра
-Oдля git-diff[1] для отримання детальної інформації. Якщоdiff.orderFileє відносним шляхом, він розглядається як відносний до вершини робочого дерева. -
diff.renameLimit -
Кількість файлів, які слід врахувати під час вичерпного аналізу на наявність дублікатів або перейменувань; відповідає опції
-lкомандиgitdiff. Якщо значення не вказано, використовується стандартне значення — 1000. Цей параметр не діє, якщо виявлення перейменувань вимкнено. -
diff.renames -
Чи виявляє Git перейменування та яким чином. Якщо встановлено значення
false, виявлення перейменувань вимкнено. Якщо встановлено значенняtrue, увімкнено базове виявлення перейменувань. Якщо встановлено значенняcopiesабоcopy, Git також виявлятиме копії. Стандартне значення —true. Зверніть увагу, що це впливає лише наgitdiffPorcelain, такі як 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 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(а також відповідний виклик fetch у командіgitpull) рекурсивно завантажувати дані в субмодулі. Цю опцію можна встановити як булеве значення або якon-demand. Встановлення булевого значення змінює поведінку команд fetch і pull: при значенні true вони беззастережно виконують рекурсію в субмодулях, а при значенні false — не виконують її взагалі. При значенніon-demand, команди fetch та pull будуть рекурсивно завантажувати дані в заповнений субмодуль тільки тоді, коли його суперпроєкт отримує коміт, що оновлює посилання субмодуля. Стандартним значенням є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, не перевищує цього обмеження, об’єкти будуть розпаковані у вигляді окремих файлів. Однак якщо кількість отриманих об’єктів дорівнює цьому обмеженню або перевищує його, отриманий пакунок буде збережено як пакунок після додавання будь-яких відсутніх базових файлів дельта. Збереження пакунка з операції push може прискорити завершення цієї операції, особливо на повільних файлових системах. Якщо це значення не вказано, замість нього використовується значення
transfer.unpackLimit. -
fetch.prune -
Якщо значення —true, fetch буде поводитись так ніби опцію
--pruneбуло вказано в командному рядку. Див. такожremote.<name>.pruneта розділ ОЧИЩЕННЯ в git-fetch[1]. -
fetch.pruneTags -
Якщо значення — true, то під час очищення
fetchавтоматично поводитиметься так, ніби під час очищення було вказано refspecrefs/tags/*:refs/tags/*, якщо він ще не встановлений. Це дозволяє встановити як цей параметр, так іfetch.prune, щоб зберегти співвідношення 1:1 з refs upstream. Див. такожremote.<name>.pruneTagsта розділ ОЧИЩЕННЯ в git-fetch[1]. -
fetch.all -
Якщо значення — true, fetch намагатиметеся оновлювати всі доступні remotes. Цю поведінку можна перевизначити використанням параметра
--no-allабо явним вказанням одного чи більше remote для fetch. Стандартно –false. -
fetch.output -
Керує тим, як показується статус оновлення ref. Допустимі значення:
fullтаcompact. Стандартне значення —full. Детальніше див. розділ ВИВІД у документації git-fetch[1]. -
fetch.negotiationAlgorithm -
Керує тим, як надсилається інформація про коміти в локальному репозиторії під час узгодження вмісту файлу packfile, який має надіслати сервер. Встановіть значення
consecutive, щоб використовувати алгоритм, який послідовно перевіряє кожен з послідовних комітів. Встановіть значенняskipping, щоб використовувати алгоритм, який пропускає коміти з метою швидшого збігу, але це може призвести до створення файлу packfile, розмір якого перевищує необхідний; або встановіть значенняnoop, щоб не надсилати жодної інформації, що майже напевно призведе до створення файлу packfile, розмір якого перевищує необхідний, але дозволить пропустити етап узгодження. Встановіть значення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 із URI набору перед виконанням інкрементального завантаження з оригінального сервера Git. Це схоже на те, як працює опція
--bundle-uriу команді git-clone[1]. Командаgitclone--bundle-uriвстановить значенняfetch.bundleURI, якщо вказаний URI набору містить список наборів, організований для інкрементального завантаження.Якщо ви зміните це значення, а у вашому репозиторії вже є значення
fetch.bundleCreationToken, то перед завантаженням за новим URI набору видаліть це значенняfetch.bundleCreationToken. -
fetch.bundleCreationToken -
При використанні
fetch.bundleURIдля поступового завантаження зі списку наборів, що використовує евристику «creationToken», це значення конфігурації зберігає максимальне значенняcreationTokenзавантажених наборів. Це значення використовується для запобігання завантаженню наборів у майбутньому, якщо оголошене значенняcreationTokenне є строго більшим за це значення.Значення токенів створення обирає провайдер, який обслуговує конкретний 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" і використовується pager, для форматування дати буде застосовано формат "foo". В іншому випадку буде застосовано формат "default".
-
log.decorate -
Виводити назви ref усіх комітів, які показує команда log. Можливі значення:
Це те саме, що й опція
--decorateкомандиgitlog. -
log.initialDecorationSet -
Зазвичай
gitlogпоказує лише оформлення для певних відомих просторів імен 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, командаgitlogбуде працювати так, ніби було вказано опцію--follow, коли задано один <path>. Ця опція має ті самі обмеження, що й--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 викликається без аргументу 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 перейменування тек, що впливає на те, як під час злиття обробляються нові файли, додані до теки на одному боці історії, якщо ця тека була перейменована на іншому боці історії. Можливі значення:
Якщо
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.<tool>.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.<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. При запускуgitmergetoolз параметром--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, слід використовувати для зчитування приміток під час показу повідомлень про коміти за допомогою команд із сімействаgitlog.Це налаштування можна замінити за допомогою змінної середовища
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 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, під час стандартного надсилання (push) передбачається використання параметра--set-upstream, якщо для поточної гілки відсутнє відстеження upstream; ця опція діє разом із значеннями параметраpush.default:simple,upstreamтаcurrent. Це корисно, якщо ви хочете, щоб нові гілки стандартно надсилалися до стандартного віддаленого репозиторію (як у випадку зpush.default=current) і водночас бажаєте встановити відстеження upstream. Робочі процеси, які, найімовірніше, отримають користь від цієї опції, — це централізовані робочі процесиsimple, де очікується, що всі гілки матимуть однакову назву на віддаленому сервері. -
push.default -
Визначає, яку дію має виконати команда
gitpush, якщо не вказано refspec (ні в командному рядку, ні в конфігурації, ні деінде). Різні значення підходять для конкретних робочих процесів; наприклад, у суто централізованому робочому процесі (тобто джерело fetch збігається з пунктом призначення push) вам, ймовірно, підійде значенняupstream. Можливі значення:-
nothing -
не виконувати жодних дій (видавати помилку), якщо не вказано refspec. Ця функція призначена насамперед для тих, хто хоче уникнути помилок, завжди вказуючи параметри явно.
-
current -
надсилати поточну гілку, щоб оновити гілку з такою самою назвою на стороні одержувача. Працює як у централізованих, так і в децентралізованих робочих процесах.
-
upstream -
надсилати поточну гілку назад до гілки, зміни якої зазвичай інтегруються в поточну гілку (яка називається
@{upstream}). Цей режим має сенс лише в тому випадку, якщо ви надсилаєте дані до того самого репозиторію, з якого зазвичай отримуєте оновлення (тобто централізований робочий процес). -
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 призводить до того, що всі операції push підписуються GPG, так само, якби до команди git-push[1] було передано параметр--signed. Рядокif-askedпризводить до того, що надсилання підписуються, якщо сервер це підтримує, так само, якби доgitpushбуло передано--signed=if-asked. Значення false може замінити значення з файлу конфігурації з нижчим пріоритетом. Явний прапорець командного рядка завжди замінює цю опцію конфігурації. -
push.pushOption -
Коли в командному рядку немає аргументу
--push-option=<option>,gitpushповодиться так ніби кожне значення <option> цієї змінної було вказано через--push-option=<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
-
Стандартний бекенд, що використовується для перебазування. Можливі значення: apply або merge. В майбутньому, якщо бекенд merge набуде всіх можливостей бекенда 'apply, цей параметр перестане використовуватись.
- rebase.stat
-
Чи виводити diffstat для того що було змінено в upstream з моменту останнього перебазування. Стандартне значення — false.
- rebase.autoSquash
-
Якщо значення — true, параметр
--autosquashє стандартно увімкненим для git-rebase[1] в інтерактивному режимі. Він може бути перевизначений за допомоги--no-autosquash. - rebase.autoStash
-
Якщо значення — true, автоматично створюється тимчасовий елемент stash перед початком операції та застосовується після її завершення. Це означає, що ви можете запустити перебазування на робочому дереві, що містить незафіксовані зміни. Однак використовуйте з обережністю: остаточне застосування 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 The oneline of the commit p fa1afe1 The oneline of the next commit ...
а не:
pick deadbee The oneline of the commit pick fa1afe1 The oneline of the next commit ...
Стандартне значення — 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для відповідних вільних посилань).
|
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покаже файли, що не відстежуються, в елементі сховища. Стандартне значення — false. See the description of the 'show' command in git-stash[1]. -
stash.showPatch -
Якщо для цього параметра встановлено значення true, команда
gitstashshowбез додаткових опцій відображатиме запис про тимчасове збереження у вигляді латки. Стандартне значення — false. See the description of the 'show' command in git-stash[1]. -
stash.showStat -
Якщо для цього параметра встановлено значення true, команда
gitstashshowбез додаткових опцій відображатиме diffstat запису в сховку. Стандартне значення — 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=<value>`значення цієї змінної будуть використовуватись як стандартне значення.
-
tag.gpgSign -
Булева змінна, що визначає, чи слід підписувати всі теги за допомогою GPG. Використання цієї опції під час запуску в автоматизованому скрипті може призвести до підписання великої кількості тегів. Тому для того, щоб уникнути багаторазового введення пароля GPG, доцільно використовувати агент. Зверніть увагу, що ця опція не впливає на поведінку підписання тегів, увімкнену за допомогою опцій
-u<keyid> або--local-user=<keyid>.
|
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намагається знайти гілку віддаленого відстеження, імʼя якої однозначно збігається з іменем нової гілки. Якщо така гілка існує, вона вибирається і встановлюється як «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]