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.35.1 → 2.43.0 no changes
- 2.35.0 01/24/22
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]