ForHosting KIT · Outils pour développeurs

Raccourcissez un hash de commit Git à la longueur voulue

Cet outil de hash court pour commit Git reçoit un identifiant d’objet SHA-1 ou SHA-256 complet et renvoie exactement le nombre demandé de premiers caractères hexadécimaux.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Il convient lorsqu’un identifiant intégral prend trop de place dans une étiquette de version, un écran de compilation, un résumé de journaux ou une note de déploiement. L’opération est déterministe, conserve la casse fournie et refuse toute longueur supérieure à celle du hash complet.

Créez un identifiant court et prévisible

Les identifiants d’objets Git sont précis, mais leur représentation hexadécimale complète s’intègre mal aux interfaces compactes et aux documents destinés à être lus rapidement. Cette capacité accepte un hash de commit SHA-1 complet de 40 caractères ou SHA-256 de 64 caractères, puis renvoie le nombre de caractères initiaux que vous demandez. Il s’agit de la forme conventionnelle utilisée par Git pour afficher un nom d’objet abrégé. Puisque vous fixez directement la longueur, le résultat ne varie pas selon la taille du dépôt, la configuration locale ou la machine qui exécute une commande. Un processus de publication peut ainsi employer systématiquement 12 caractères, tandis qu’un badge étroit peut se limiter à 8. La réponse contient le hash raccourci et sa longueur, ce qui simplifie sa validation avant son insertion dans un autre système. La casse d’origine est conservée et aucun dépôt ne doit être cloné : seules la validation et l’extraction du préfixe sont effectuées.

Choisissez la longueur en tenant compte des collisions

Un hash court est une abréviation, et non un nouvel identifiant de commit. Les préfixes courts sont plus lisibles, mais risquent davantage de correspondre à plusieurs objets lorsque le dépôt grandit. Git peut déterminer la plus courte abréviation unique en examinant les objets disponibles. Cet outil ne peut pas garantir cette unicité, car il ne reçoit qu’un seul hash et n’inspecte aucun dépôt. Choisissez une longueur adaptée au contexte et au nombre d’objets attendu. 7 ou 8 caractères peuvent convenir à un petit projet, alors que 12 caractères ou davantage offrent une marge supérieure pour les historiques volumineux et les archives de compilation durables. Si une commande ultérieure doit résoudre la valeur dans un dépôt, vérifiez que le préfixe y est sans ambiguïté. La capacité empêche une erreur précise : demander plus de caractères que le hash complet n’en contient. Elle exige également un identifiant SHA-1 ou SHA-256 intégral plutôt qu’une valeur déjà abrégée.

Uniformisez l’abréviation dans vos automatisations

Une longueur fixe est utile lorsque plusieurs outils doivent désigner la même révision de façon cohérente. Une tâche d’intégration continue peut prendre le SHA complet fourni par son service, appliquer la longueur définie par votre projet et réutiliser le résultat dans les noms d’artefacts, les étiquettes de conteneurs, les annotations de déploiement ou les rapports de tests. Les scripts de publication peuvent l’afficher à côté d’une version sémantique sans intégrer de commandes Git propres à un environnement. Les systèmes de supervision et d’assistance peuvent présenter une référence compacte tout en conservant le hash complet dans leurs métadonnées. L’algorithme se limitant à la validation et à la découpe d’un préfixe, une même entrée produit toujours la même sortie dans le navigateur et par API. Il n’utilise ni réseau, ni dépôt, ni hasard, ni heure. Lorsque l’identité exacte compte entre plusieurs dépôts ou forks, conservez également l’identifiant complet comme référence faisant autorité.

Nommer les artefacts de compilation

Créez des suffixes de révision de largeur fixe pour les paquets, archives et sorties à partir du SHA complet fourni par la CI.

Annoter les déploiements

Affichez un préfixe de commit lisible dans les tableaux de déploiement et les notes de version, tout en conservant le hash intégral ailleurs.

Normaliser les références des journaux

Appliquez une longueur d’abréviation explicite à tous vos services afin de comparer facilement les révisions.

Quel est le tarif ?

Le tarif de l’API est de $0.002 par requête. La même opération déterministe peut s’exécuter dans le navigateur sur cette page.

Quels formats de hash Git sont acceptés ?

L’entrée doit être un identifiant hexadécimal SHA-1 complet de 40 caractères ou SHA-256 complet de 64 caractères.

Un hash court identifie-t-il un commit de manière unique ?

Pas nécessairement. L’unicité dépend des autres objets du dépôt concerné, que cette capacité n’examine pas.

Que se passe-t-il si la longueur demandée est excessive ?

La requête échoue avec une erreur de saisie qui indique la longueur demandée et celle du hash complet.

L’outil convertit-il les lettres hexadécimales majuscules en minuscules ?

Non. Il valide l’entrée hexadécimale et conserve exactement la casse du préfixe fourni.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

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

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

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"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →