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.53.0 no changes
-
2.52.0
2025-11-17
- 2.51.2 no changes
-
2.51.1
2025-10-15
- 2.50.1 → 2.51.0 no changes
-
2.50.0
2025-06-16
- 2.45.1 → 2.49.1 no changes
-
2.45.0
2024-04-29
- 2.43.1 → 2.44.4 no changes
-
2.43.0
2023-11-20
- 2.41.1 → 2.42.4 no changes
-
2.41.0
2023-06-01
- 2.38.3 → 2.40.4 no changes
-
2.38.2
2022-12-11
- 2.38.1 no changes
-
2.38.0
2022-10-02
- 2.37.1 → 2.37.7 no changes
-
2.37.0
2022-06-27
- 2.31.1 → 2.36.6 no changes
-
2.31.0
2021-03-15
- 2.22.1 → 2.30.9 no changes
-
2.22.0
2019-06-07
- 2.20.1 → 2.21.4 no changes
-
2.20.0
2018-12-09
- 2.12.5 → 2.19.6 no changes
-
2.11.4
2017-09-22
- 2.2.3 → 2.10.5 no changes
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
ОПИС
Використовуйте git mergetool для запуску однієї з кількох утиліт злиття для розвʼязання конфліктів злиття. Зазвичай запускають після git merge.
Якщо вказано один або кілька параметрів <file>, буде запущено програму-інструмент злиття для усунення розбіжностей у кожному файлі (файли без конфліктів пропускаються). Якщо вказано теку, до обробки будуть включені всі нерозвʼязані файли в цьому шляху. Якщо імена файлів <file> не вказано, git mergetool запустить програму-інструмент злиття для кожного файлу, що містить конфлікти злиття.
ОПЦІЇ
-
-t<tool> -
--tool=<tool> -
Використовувати програму для розвʼязання конфліктів злиття, вказану в параметрі <tool>. Допустимі значення:
emerge,gvimdiff,kdiff3,meld,vimdiffтаtortoisemerge. Щоб переглянути список допустимих значень для параметра <tool>, виконайте командуgitmergetool--tool-help.Якщо програму для розвʼязання злиття не вказано,
gitmergetoolвикористовуватиме змінну конфігураціїmerge.tool. Якщо змінна конфігураціїmerge.toolне встановлена,gitmergetoolвибере відповідне стандартне значення.Ви можете явно вказати повний шлях до інструменту, встановивши змінну конфігурації
mergetool.<tool>.path. Наприклад, ви можете налаштувати абсолютний шлях до kdiff3, встановившиmergetool.kdiff3.path. В іншому випадку,gitmergetoolприпускає, що інструмент доступний у$PATH.Замість запуску однієї з відомих програм для злиття,
gitmergetoolможна налаштувати на запуск іншої програми, вказавши командний рядок для її виклику у конфігураційній зміннійmergetool.<tool>.cmd.Коли
gitmergetoolвикликається за допомогою цього інструменту (через опцію-tабо--tool, або змінну конфігураціїmerge.tool), налаштований командний рядок буде викликано зBASE, встановленим на імʼя тимчасового файлу, що містить загальну базу для злиття, якщо така є;LOCAL, встановленим на імʼя тимчасового файлу, що містить вміст файлу в поточній гілці;REMOTE, встановленим на імʼя тимчасового файлу, що містить вміст файлу, який потрібно обʼєднати, таMERGED, встановленим на імʼя файлу, в який інструмент злиття має записати результат розвʼязання злиття.Якщо власний інструмент злиття за допомогою коду завершення правильно вказує на успішне вирішення конфлікту, то для змінної конфігурації
mergetool.<tool>.trustExitCodeможна встановити значенняtrue. В іншому випадкуgitmergetoolзапропонує користувачеві підтвердити успішність розвʼязання конфлікту після завершення роботи власного інструменту користувача. -
--tool-help -
Вивести список інструментів обʼєднання, які можна використовувати з
--tool. -
-y -
--no-prompt -
Не запитувати перед кожним викликом програми вирішення злиття. Це стандартне значення якщо програму розвʼязання злиття явно вказано за допомогою опції
--toolабо за допомогою змінної конфігураціїmerge.tool. -
--prompt -
Запитувати перед кожним викликом програми розвʼязання злиття, щоб дати користувачеві можливість пропустити шлях.
-
-g -
--gui -
Коли
git-mergetoolвикликається з опцією-gабо--gui, інструмент стандартний злиття буде зчитуватися з налаштованої змінноїmerge.guitoolзамістьmerge.tool. Якщоmerge.guitoolне встановлено, ми повернемося до інструменту, налаштованого вmerge.tool. Його можна вибрати автоматично за допомогою змінної конфігураціїmergetool.guiDefault. -
--no-gui -
Цей параметр перевизначає попереднє налаштування
-gабо--guiабо конфігураціюmergetool.guiDefaultта зчитує стандартний інструмент злиття з налаштованої змінноїmerge.tool. -
-O<файл-порядку> -
Файли обробляються у порядку, вказаному у файлі <orderfile>, у якому в кожному рядку міститься один шаблон оболонки. Замінює значення змінної конфігурації
diff.orderFile(див. git-config[1]). Щоб скасувати діюdiff.orderFile, використовуйте-O/dev/null.
КОНФІГУРАЦІЯ
Все, що знаходиться нижче цього рядка в цьому розділі, вибірково включено з документації git-config[1]. Вміст такий самий, як і там:
-
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 вікнами. Щоб налаштувати макет, див. розділ «ПОРАДИ, ЩО СТОСУЮТЬСЯ БЕКЕНДУ» розділ. -
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.
ТИМЧАСОВІ ФАЙЛИ
git mergetool створює резервні копії файлів *.orig під час розвʼязання злиття. Їх можна безпечно видалити після обʼєднання файлу та завершення його сеансу git mergetool.
Встановлення змінної конфігурації mergetool.keepBackup на false призведе до того, що git mergetool автоматично видалятиме файли резервних копій після успішного обʼєднання файлів.
GIT
Частина набору git[1]