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.51.2 no changes
- 
        2.51.1
          
            
                                 2025-10-15 2025-10-15
- 2.39.1 → 2.51.0 no changes
- 
        2.39.0
          
            
                                 2022-12-12 2022-12-12
- 2.15.4 → 2.38.5 no changes
- 2.14.6 no changes
- 2.7.6 → 2.13.7 no changes
- 
        2.6.7
          
            
                             2017-05-05 2017-05-05
- 2.2.3 → 2.5.6 no changes
- 
        2.1.4
          
            
                                 2014-12-17 2014-12-17
- 
        2.0.5
          
            
                                     2014-12-17 2014-12-17
DESCRIÇÃO
Carregue um patch da entrada padrão e calcule o ID para ele.
Um "patch ID" nada mais é do que uma soma de SHA-1 das diferenças de arquivo associadas a uma correção, ignorando os números de linha. Dessa maneira, ele é "razoavelmente estável", mas ao mesmo tempo também é razoavelmente exclusivo, ou seja, duas correções que tenham o mesmo "patch ID" são quase garantidos como sendo a mesma coisa.
O principal caso de uso para este comando é procurar por commits possivelmente duplicados.
Ao lidar com a saída do comando git diff-tree, ele aproveita a vantagem que a correção é prefixado com o nome do objeto do commit e gera duas strings hexadecimais com 40 bytes. A primeira string é o ID da correção e a segunda string é o ID do commit. Isso pode ser usado para fazer um mapeamento do "patch ID" para o ID do commit.
OPÇÕES
- --verbatim
- 
Calcule o patch-id da entrada conforme é fornecido, não retire nenhum espaço em branco. Este é o padrão caso `patchid.verbatim` seja verdadeiro. 
- --stable
- 
Use uma soma "stable" (estável) de hashes como o ID do patch. Com esta opção: - 
A reordenação das diferenças de arquivos que compõem uma correção não afeta a ID. Especificamente, duas correções produzidos pela comparação das mesmas duas árvores com duas configurações diferentes para "-O<ordem-do-arquivo>" resultam na mesma assinatura ID da correção, permitindo assim que o resultado computado seja usado como uma chave para indexar algumas meta-informações sobre a alteração entre as duas árvores; 
- 
O resultado é diferente do valor produzido pelo git 1.9 e mais antigo ou produzido quando um hash "instável" (consulte --unstableabaixo) é configurado - mesmo quando utilizado com um diff gerado obtido sem o uso de "-O<ordem-do-arquivo>", tornando, assim, os bancos de dados existentes armazenando esses IDs "instáveis" ou os históricos com correções inúteis.
- 
Todos os espaços em branco dentro do patch são ignorados e não afetam o id. Esta é a predefinição caso o `patchid.stable` estiver definido como 'true'. 
 
- 
- --unstable
- 
Use um hash "instável" como "patch ID". Com esta opção, o resultado produzido é compatível com o valor do "patch-id" produzido pelo git 1.9 e anteriores, e os espaços em branco são ignorados. Os usuários com bancos de dados pré-existentes que armazenam os "patch-ids" produzidos pelo git 1.9 e anteriores (que não lidam com correções reordenadas) podem querer usar essa opção. Esta é a predefinição. 
GIT
Parte do conjunto git[1]
