ForHosting KIT · Ferramentas para dev

Encurte um hash de commit Git para o tamanho desejado

Esta ferramenta de hash curto de commit Git recebe um identificador de objeto SHA-1 ou SHA-256 completo e devolve exatamente a quantidade solicitada de caracteres hexadecimais iniciais.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Ela é útil quando o identificador inteiro ocupa espaço demais em uma etiqueta de versão, tela de build, resumo de logs ou nota de implantação. A operação é determinística, preserva as letras maiúsculas e minúsculas fornecidas e rejeita um tamanho maior que o hash completo.

Crie um identificador curto e previsível

Os identificadores de objetos do Git são precisos, mas a representação hexadecimal completa pode ser inconveniente em interfaces compactas e registros voltados para leitura humana. Esta capacidade aceita um hash completo de commit SHA-1 com 40 caracteres ou SHA-256 com 64 e devolve a quantidade de caracteres iniciais que você solicitar. Esse é o formato convencional usado pelo Git para exibir nomes abreviados de objetos. Como o tamanho é informado diretamente, o resultado não muda conforme o volume do repositório, a configuração local ou a máquina que executa o comando. Um fluxo de lançamento pode padronizar 12 caracteres, por exemplo, enquanto um selo estreito pode usar 8. A resposta traz o valor encurtado e o tamanho aplicado, facilitando a validação antes do envio a outro sistema. A capitalização original é mantida. Não é preciso clonar o repositório: o valor passa apenas por validação e extração do prefixo.

Escolha o tamanho considerando o risco de colisão

Um hash curto é uma abreviação, não um novo identificador de commit. Prefixos menores são mais fáceis de ler, porém têm maior chance de corresponder a vários objetos à medida que o repositório cresce. O Git consegue calcular a menor abreviação exclusiva ao consultar os objetos disponíveis; esta ferramenta não pode garantir exclusividade porque recebe apenas um hash e não examina um repositório. Escolha um tamanho adequado ao contexto e ao número esperado de objetos. 7 ou 8 caracteres podem ser convenientes em um projeto pequeno, enquanto 12 ou mais oferecem uma margem maior para históricos extensos e arquivos de builds mantidos por muito tempo. Se um comando posterior precisar resolver o valor em um repositório, confirme ali que o prefixo não é ambíguo. A capacidade impede um erro específico: pedir mais caracteres do que existem no hash completo. Ela também exige um identificador SHA-1 ou SHA-256 integral, em vez de aceitar um valor já abreviado.

Use a mesma abreviação em toda a automação

O encurtamento com tamanho fixo ajuda quando várias ferramentas precisam identificar a mesma revisão de modo consistente. Um job de integração contínua pode receber o SHA completo do provedor, aplicar o tamanho definido pelo projeto e reutilizar o hash curto em nomes de artefatos, tags de contêiner, anotações de implantação ou relatórios de testes. Scripts de lançamento podem colocar o valor ao lado de uma versão semântica sem incorporar comandos Git específicos do ambiente. Sistemas de monitoramento e suporte podem mostrar uma revisão compacta e manter o hash completo nos metadados. Como o algoritmo realiza apenas validação e recorte do prefixo, entradas idênticas sempre produzem saídas idênticas no navegador e pela API. Não há acesso à rede, consulta ao repositório, escolha aleatória nem comportamento dependente do horário. Quando a identidade exata for importante entre repositórios, forks ou arquivos históricos, mantenha também o identificador completo como referência definitiva.

Identificar artefatos de build

Crie sufixos de revisão com largura fixa para pacotes, arquivos e saídas de build usando o SHA completo fornecido pelo CI.

Anotar implantações

Exiba um prefixo de commit legível em painéis de implantação e notas de versão, mantendo o hash completo em outro campo.

Padronizar referências em logs

Aplique um tamanho explícito de abreviação em todos os serviços para facilitar a comparação entre revisões.

Quanto custa?

O preço da API é US$ 0,002 por solicitação. A mesma operação determinística pode ser executada no navegador nesta página.

Quais formatos de hash Git são aceitos?

A entrada deve ser um identificador hexadecimal SHA-1 completo com 40 caracteres ou SHA-256 completo com 64.

Um hash curto identifica um commit de forma exclusiva?

Não necessariamente. A exclusividade depende dos outros objetos existentes no repositório, que esta capacidade não examina.

O que acontece se o tamanho solicitado for grande demais?

A solicitação falha com um erro de entrada inválida que informa o tamanho pedido e o tamanho disponível no hash completo.

A ferramenta transforma letras hexadecimais maiúsculas em minúsculas?

Não. Ela valida a entrada hexadecimal e preserva exatamente a capitalização do prefixo fornecido.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev/commit-hash-short-form

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev/commit-hash-short-form \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"commit_hash":"8f14e45fceea167a5a36dedd4bea2543d2f6b721","length":12}'
{
  "commit_hash": "8f14e45fceea167a5a36dedd4bea2543d2f6b721",
  "length": 12
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.commit_hash_short_form",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →