Examinez les secrets possibles avant de valider
Avant un commit ou un push, GitTree peut afficher Possible secrets in this commit ou Possible secrets in this push. L'analyse est locale et délimitée. Vous pouvez Unstage File, Add to .gitignore, Commit Anyway ou Push Anyway. Un avertissement ne prouve pas qu'un secret est présent, et le silence ne prouve pas qu'on est absent.
Fonctionne dans GitTree Gratuit : toutes les fonctionnalités Git locales, sans compte requis.
Sur cette page
Avant de commencer
- Les avertissements secrets font partie du plan gratuit. Ils sont allumés lorsque Local secret warnings est Warn before proceeding.
- L'analyse lit le contenu préparé pour une validation et une plage de validation sortante prise en charge pour une transmission. Il n'envoie pas le contenu du fichier à GitTree.
Où le trouver
- L'avertissement s'ouvre à partir de la boîte de validation lorsque vous effectuez une validation, ou à partir du flux push lorsque vous effectuez une transmission.
- Preferences, le paramètre Local secret warnings : Warn before proceeding ou Off.
| Action | macOS | Windows et Linux |
|---|---|---|
| Valider | ⌘Enter | Ctrl+Enter |
| Préférences | ⌘, | Ctrl+, |
Mesures
Validez ou poussez comme d'habitude
Indexez les fichiers et rédigez le message, ou démarrez le push. Si l'analyse trouve un secret probable, GitTree s'arrête et ouvre la boîte de dialogue au lieu de terminer. Votre message et vos fichiers de travail sont conservés lorsque la boîte de dialogue est celle de validation. La boîte de dialogue push indique que la correction d'un secret déjà validé nécessite une nouvelle validation ou une réécriture.

L'avertissement de validation s'ouvre à partir de cette boîte. L'affiche toujours le compositeur, pas la boîte de dialogue d'avertissement.Interface GitTree avec un référentiel de démonstration. Lire l'avertissement
Le titre est Possible secrets in this commit ou Possible secrets in this push. Chaque ligne nomme une règle, telle que Private key, AWS access key, GitHub token, GitLab token, Slack token, Stripe live key, Google API key ou Sensitive file name, et un numéro de ligne lorsqu'elle en a un. Les jetons sont masqués. Une clé privée est affichée sous la forme Private key header.
Gardez le secret hors du commit
Unstage File supprime ce fichier de l'index. Add to .gitignore ajoute une règle d'ignorance. La boîte de dialogue indique que les règles d'ignorance ne suppriment pas le contenu intermédiaire, donc supprimez également le fichier intermédiaire. Pour autoriser volontairement une ligne, ajoutez
gittree:allow-secretsur cette ligne. Cela arrête l'avertissement pour la ligne. Cela ne crypte rien.Continuez seulement si vous le souhaitez
Commit Anyway ou Push Anyway continue. Cancel vous ramène à la boîte de validation ou au push sans partage. Si certaines modifications n'ont pas été inspectées, la boîte de dialogue l'indique. Traitez cela comme une analyse incomplète et non comme un résultat net.
Résultat attendu
Soit le secret n'est plus indexés, soit vous avez choisi de continuer après avoir lu l'avertissement. Vérifiez la différence du prochain commit avant de pousser. Une règle .gitignore ne réécrit pas un commit qui contient déjà le fichier.
Ce que l'analyse ne couvre pas
Local secret warnings indique que l'inspection reste locale et limitée, et que vous avez le choix de la désactiver pour l'ensemble de l'application. Les écarts qu'il peut signaler sont The inspection limit was reached, Binary content was skipped, Lines longer than 4 KiB were skipped et Some content could not be inspected. The optional secret scan was unavailable signifie que vous devez vérifier le contenu vous-même.
| Écart | Ce qu'il faut faire |
|---|---|
| Le contenu binaire a été ignoré | Ouvrez le fichier vous-même. Le scan ne le lit pas. |
| Les lignes de plus de 4 Ko ont été ignorées | Recherchez cette ligne dans un éditeur. Un jeton sur une ligne minifiée n'est pas analysé. |
| La limite d'inspection a été atteinte | Validez un plus petit ensemble de fichiers et lisez le reste. |
| Le paramètre est désactivé | Rien n'est analysé jusqu'à ce que vous choisissiez Avertir avant de continuer. |
Ignorer les règles et les fichiers préparés
La boîte de dialogue indique que Ignore rules do not remove staged content. Unstage the file as well. git check-ignore peut montrer qu'un chemin correspond à .gitignore tandis que git diff --cached l'affiche toujours dans l'index. Supprimez-le, puis validez. L'ajout d'une règle ne supprime pas le fichier des validations déjà existantes.
git diff --cached -- path/to/file
git restore --staged -- path/to/file
git check-ignore -v path/to/fileSi le secret est déjà sur le dépôt distant, modifier .gitignore ne suffit pas. Vous avez besoin d'un nouveau commit qui le supprime et d'une réécriture de l'historique si les anciens commits ne doivent pas le contenir. GitTree ne promet pas d'effacer un secret de chaque clone. Voir ignore files et hooks si vous souhaitez également qu'un hook refuse la validation.
Autoriser volontairement une ligne
Add gittree:allow-secret on a line to stop warning about it. Placez ce marqueur sur la ligne qui doit être validée, par exemple un jeton d'appareil qui n'est pas un véritable identifiant. Le marqueur est visible dans le fichier. Ne l'utilisez pas pour masquer une clé active. Commit Anyway valide sans ajouter le marqueur.
Les avertissements push examinent les commits que vous êtes sur le point d'envoyer. Possible secrets in this push ne peut pas supprimer un fichier déjà dans une validation. Corrigez-le avec un nouveau commit ou réécrivez l'historique non publié, puis repoussez. Forcer le push avec le bail est le push de réécriture sécurisé lorsque la branche n'est pas publiée. Le tutoriel couvre les commits quotidiens avant que vous ayez besoin de cette boîte de dialogue.
Si quelque chose ne va pas
"Les secrets potentiels nécessitent votre examen avant de continuer."
Le commit ou le push est en attente dans la boîte de dialogue. Annulez la indexation, ignorez, autorisez la ligne ou choisissez Valider quand même ou Pousser quand même. Annuler laisse le message et les fichiers de travail en place pour une validation.
"Les règles d'ignorance ne suppriment pas le contenu intermédiaire. Supprimez également le fichier. "
Ajouter à .gitignore met uniquement à jour le fichier ignorer. Appuyez sur Unstage File ou exécutez git restaurer --staged pour que la prochaine validation n'inclue pas le chemin.
"Certains changements n'ont pas été inspectés."
L'analyse s'est arrêtée prématurément, a sauté un binaire ou a sauté une ligne de plus de 4 Ko. Lisez ces fichiers vous-même avant de continuer.
"L'analyse secrète facultative n'était pas disponible. Vérifiez le contenu vous-même."
GitTree n'a pas pu exécuter l'analyse. Le commit n'est pas certifié propre. Lisez la différence, puis validez-la uniquement si vous l'avez vérifiée.
Questions
Est-ce que GitTree télécharge mes fichiers pour rechercher des secrets ?
Non. Le paramètre indique que l’inspection reste locale et limitée. La boîte de dialogue examine ce que vous êtes sur le point de valider ou de pousser sur cet ordinateur.
Un dialogue clair est-il la preuve qu’il n’y a pas de secret ?
Non. Le contenu binaire et les lignes de plus de 4 Ko sont ignorés, l'inspection peut atteindre une limite et les modèles ne correspondent pas à tous les secrets. Un avertissement n’est pas non plus une garantie.
.gitignore supprime-t-il un secret que j'ai déjà indexé ?
Non. Les règles d’ignorance ne suppriment pas le contenu intermédiaire. Supprimez également le fichier. Une règle ne réécrit pas non plus les anciens commits.
Que fait gittree:allow-secret ?
Sur une ligne, il arrête l'avertissement pour cette ligne. La ligne est toujours validée sous forme de texte. Utilisez-le uniquement pour une valeur que vous avez l'intention de partager.
Puis-je désactiver les avertissements ?
Oui. Préférences › Avertissements secrets locaux › Désactivé. Il s'agit d'un choix à l'échelle de l'application. L'analyse ne s'exécute pas tant que vous n'avez pas défini Avertir avant de recommencer.