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.47.1 no changes
- 2.35.0 01/24/22
- 2.24.1 → 2.34.8 no changes
- 2.24.0 11/04/19
- 2.1.4 → 2.23.4 no changes
- 2.0.5 12/17/14
DESCRIÇÃO
Isso procura o(s) <arquivo(s) no índice e, se houver entradas de mesclagem, passa o hash SHA-1 para esses arquivos como argumentos 1, 2, 3 (ou um argumento vazio se não houver arquivo) e <arquivo> como argumento 4. Os modos de arquivo para os três arquivos são passados como argumentos 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 Este é o MM modificado no ramo A. # merge1 Este é o MM modificado no ramo B. # merge2 Este é o MM modificado no ramo 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]