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

НАЗВА

git-merge-index — Виконання злиття файлів, які потребують злиття

СИНОПСИС

git merge-index [-o] [-q] <merge-program> (-a | ( [--] <file>…​) )

ОПИС

Ця команда шукає <файл>(и) в індексі та, якщо є записи злиття, передає SHA-1 хеш для цих файлів як аргументи 1, 2, 3 (порожній аргумент, якщо файлу немає), та <файл> як аргумент 4. Режими файлів для трьох файлів передаються як аргументи 5, 6 та 7.

ОПЦІЇ

--

Не інтерпретує жодних додаткових аргументів як опції.

-a

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

-o

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

-q

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

Якщо git merge-index викликається з кількома <file> (або з -a), то вони обробляються по черзі, зупиняючись лише тоді, коли merge повертає ненульовий код виходу.

Зазвичай це виконується за допомогою скрипта, який викликає імітацію Git команди merge з пакунка RCS.

Зразок скрипта з назвою git merge-one-file включено до дистрибутиву.

УВАГА! УВАГА! УВАГА! Порядок обʼєктів злиття в Git відрізняється від порядку обʼєктів злиття в програмі merge системи RCS. У наведеному вище порядку оригінальний файл йде першим. Натомість у програмі merge для тристороннього злиття оригінальний файл має бути посередині. Не питайте чому.

Приклади:

torvalds@ppc970:~/merge-test> git merge-index cat MM
This is MM from the original tree.		# original
This is modified MM in the branch A.		# merge1
This is modified MM in the branch B.		# merge2
This is modified MM in the branch B.		# current contents

або

torvalds@ppc970:~/merge-test> git merge-index cat AA MM
cat: : No such file or directory
This is added AA in the branch A.
This is added AA in the branch B.
This is added AA in the branch B.
fatal: merge program failed

де останній приклад показує, як git merge-index припинить спроби обʼєднання, якщо щось поверне помилку (тобто, cat поверне помилку для файлу AA, оскільки його не існувало в оригіналі, і тому git merge-index навіть не намагався обʼєднати файл MM).

GIT

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