ForHosting KIT · Outils pour développeurs

Vérifiez un chemin avec des motifs .gitignore

Sachez si Git ignorerait un fichier et quelle règle en décide : logs/build.log est ignoré à cause de *.log, la deuxième règle de la liste, et une règle ultérieure comme !important.log peut annuler une précédente. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Motifs
dist/, *.log, !important.log, secrets/**
Chemin
logs/build.log
Vous obtenez
Motif correspondant
*.log
Indice correspondant
1

Vérifiez un chemin relatif au dépôt par rapport à une liste ordonnée de motifs .gitignore, sans créer de dépôt temporaire ni appeler Git. Le résultat indique si le chemin est ignoré et, lorsqu’une règle correspond, précise le dernier motif décisif ainsi que sa position indexée à partir de zéro. Le vérificateur gère les commentaires, les caractères échappés, les règles ancrées à la racine, les règles de dossier, les jokers, les classes de caractères, les doubles astérisques récursifs et les négations. Il refuse aussi les motifs mal formés au lieu de les interpréter silencieusement comme de simples littéraux.

Fournissez les règles dans leur ordre réel

Un fichier .gitignore n’est pas un simple sac de globs indépendants. Git évalue ses règles dans l’ordre, et une règle ultérieure qui correspond peut modifier la décision d’une règle précédente. Envoyez les motifs exactement dans l’ordre où ils figurent dans le fichier d’exclusion concerné.

Les motifs ordinaires qui correspondent marquent le chemin comme ignoré, tandis qu’une règle commençant par un point d’exclamation non échappé annule cette décision. Les lignes vides et celles qui commencent par un croisillon non échappé ne constituent pas des règles, comme dans un fichier d’exclusion normal. La réponse comprend le dernier motif correspondant et son indice de tableau compté à partir de zéro, ce qui permet d’expliquer un résultat surprenant dans un outil de build ou un éditeur de configuration.

Les chemins doivent être relatifs à la racine du dépôt et employer des barres obliques. Un chemin stable et normalisé évite qu’un préfixe absolu, un segment parent ou des séparateurs propres au système produisent une réponse différente.

Comprenez les règles de correspondance

Un astérisque correspond à un nombre quelconque de caractères dans un seul segment de chemin, tandis qu’un point d’interrogation correspond à un caractère autre qu’une barre. Une barre initiale ancre la règle à la racine du dépôt. Un motif sans barre peut correspondre à un nom à n’importe quelle profondeur ; si ce nom représente un dossier dans le chemin fourni, tout son contenu est également couvert.

Une barre finale exprime une règle de dossier. Comme le vérificateur reçoit un chemin et non une arborescence, il se fonde sur le texte du chemin et ses ancêtres ; il ne vérifie pas si le dernier composant existe comme fichier ou dossier. Les croisillons et points d’exclamation initiaux échappés restent littéraux, et les espaces finaux non échappés sont supprimés selon les conventions du format.

Détectez les défauts grâce à la validation

Les erreurs de glob passent facilement inaperçues lorsqu’un fichier d’exclusion grandit au fil de nombreuses petites modifications. Ce vérificateur signale une entrée non valide pour une classe de caractères non fermée ou vide, un échappement incomplet ou un marqueur de négation sans expression. Une réponse réussie ne modifie pas les règles et ne dépend ni du réseau, ni de l’heure, ni du hasard, ni du contenu du dépôt, ni du système hôte.

Elle convient donc aux contrôles déterministes avant commit, aux formulaires web, aux diagnostics d’IDE et aux tests de politique dans CI.

Expliquer une entrée de build absente

Testez le chemin absent avec les règles du projet et affichez la règle finale responsable de son exclusion.

Valider un éditeur de fichier d’exclusion

Prévisualisez l’effet d’une règle déplacée ou d’une nouvelle négation avant d’enregistrer la configuration.

L’ordre des règles est-il important ?

Oui. Chaque règle est évaluée dans l’ordre, et la dernière correspondance détermine si le chemin est ignoré.

Les motifs négatifs sont-ils pris en charge ?

Oui. Un point d’exclamation initial non échappé crée une règle négative qui peut rendre visible un chemin précédemment ignoré.

Le vérificateur lit-il mon dépôt ou la configuration globale de Git ?

Non. Il utilise uniquement les motifs et le chemin relatif au dépôt fournis dans la requête.

Les motifs peuvent-ils traverser plusieurs dossiers ?

Oui. Un double astérisque peut franchir les limites de dossiers, tandis qu’un astérisque simple reste dans un segment.

Comment savoir quelle règle a décidé du résultat ?

La réponse indique la dernière règle correspondante et sa position dans la liste, en comptant à partir de 0. Dans l’exemple, logs/build.log est ignoré par *.log en position 1, ce qui aide à expliquer un résultat surprenant.

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/dev2/gitignore-check-path

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/dev2/gitignore-check-path \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"patterns":["dist/","*.log","!important.log"],"path":"logs/build.log"}'
{
  "patterns": [
    "dist/",
    "*.log",
    "!important.log"
  ],
  "path": "logs/build.log"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.gitignore_check_path",
  "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.

max_patterns1000
max_pattern_chars1024
max_path_chars4096
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.

Comprenez les règles de correspondance

Les classes telles que `[0-9]` sélectionnent un caractère dans un ensemble ou une plage. Un double astérisque peut franchir les limites de dossiers : `docs/**/draft*.md` couvre donc les brouillons placés directement sous `docs` et ceux des sous-dossiers plus profonds.

Détectez les défauts grâce à la validation

Il limite aussi le nombre et la longueur des motifs afin qu’un endpoint de validation ne déclenche pas un travail de compilation illimité. Dans une automatisation, conservez `matching_pattern` avec la décision booléenne : l’explication est souvent plus utile que le booléen seul. La version navigateur emploie le même solveur pur que l’API, tandis qu’une requête API applique le tarif de base publié de $0.002.

Appliquer la politique du dépôt dans CI

Vérifiez que les artefacts générés sont ignorés tandis que les fixtures et sources requises restent suivables.

Que se passe-t-il si un motif est mal formé ?

La requête échoue avec une erreur invalid_input qui indique la position du motif et le défaut structurel.

Combien coûte une requête API ?

Le tarif de base est de $0.002 par requête. Le même solveur déterministe est également disponible dans le navigateur.

Consulter la documentation complète du KIT →