Git

NOME

git-merge-index - Executa uma mesclagem para os arquivos que precisam ser mesclados

RESUMO

git merge-index [-o] [-q] <merge-program> (-a | [--] <arquivo>*)

DESCRIÇÃO

Ele procura pelos <arquivos> no índice e caso haja alguma mesclagem na entrada, passa o hash SHA-1 para estes arquivos em forma de comandos 1, 2, 3 (opções vazias caso não haja um arquivo) e <arquivo> como a opção 4. Os modos do arquivo para os três arquivos são encaminhados como as opções 5, 6 e 7.

OPÇÕES

--

Não interprete mais argumentos como opções.

-a

Execute a mesclagem em todos os arquivos no índice que precisam ser mesclados.

-o

Em vez de parar na primeira mesclagem com problemas, faça todos eles de uma vez só - continue com a mesclagem mesmo quando as mesclagens anteriores retornarem erros e retorne apenas o código do erro ao final de todas as mesclagens.

-q

Não reclame sobre um programa de mesclagem que falhou (uma falha no programa de mesclagem geralmente indica conflitos durante o processo). Isto serve apenas para porcelanas que queiram emitir mensagens personalizadas.

Caso o comando git merge-index seja chamado com vários <arquivo>s (ou -a), ele os processará por vez, parando apenas caso o merge retorne um código com uma saída diferente de zero.

Normalmente, é executado com um script chamando a imitação do comando merge pelo Git vindo do pacote RCS.

Um script de exemplo chamado git merge-one-file está incluso na distribuição.

ALERTA ALERTA ALERTA! A "ordem da mesclagem dos objetos" do Git é diferente da ordem de mesclagem do objeto no programa RCS merge. Na ordem acima, o original é o primeiro. Porém, a ordem das opções para o programa de mesclagem merge de três vias é ter o original no meio. Não me pergunte o por quê.

Exemplos:

torvalds@ppc970:~/merge-test> git merge-index cat MM
Este é o 'MM' vindo da árvore original.		# 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.		# conteúdo atual

ou

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

onde o último exemplo mostra como o comando git merge-index interrompe as tentativas de mesclagem depois que algo retorna um erro (ou seja, cat retornou um erro para o arquivo AA, porque ele não existia no original e portanto, git merge-index sequer tentou mesclar o tal MM).

GIT

Parte do conjunto git[1]