Überprüfen Sie mögliche Geheimnisse, bevor Sie committen
Vor einem Commit oder Push kann GitTree Possible secrets in this commit oder Possible secrets in this push anzeigen. Der Scan ist lokal und begrenzt. Sie können Unstage File, Add to .gitignore, Commit Anyway oder Push Anyway. Eine Warnung ist kein Beweis dafür, dass ein Geheimnis vorhanden ist, und Schweigen ist kein Beweis dafür, dass eines fehlt.
Funktioniert in GitTree Kostenlos: alle lokalen Git-Funktionen, kein Konto erforderlich.
Auf dieser Seite
Bevor Sie beginnen
- Geheime Warnungen sind Teil des kostenlosen Plans. Sie sind eingeschaltet, wenn Local secret warnings Warn before proceeding ist.
- Der Scan liest bereitgestellte Inhalte für einen Commit und einen unterstützten ausgehenden Commit-Bereich für einen Push. Es werden keine Dateiinhalte an GitTree gesendet.
Wo es zu finden ist
- Die Warnung wird beim Committen im Commit-Feld oder beim Pushen im Push-Flow geöffnet.
- Preferences, die Local secret warnings-Einstellung: Warn before proceeding oder Off.
| Aktion | macOS | Windows und Linux |
|---|---|---|
| Committen | ⌘Enter | Ctrl+Enter |
| Präferenzen | ⌘, | Ctrl+, |
Schritte
Commit oder Push wie gewohnt
Stellen Sie die Dateien bereit und schreiben Sie die Nachricht oder starten Sie den Push. Wenn der Scan ein wahrscheinliches Geheimnis findet, stoppt GitTree und öffnet den Dialog, anstatt ihn abzuschließen. Ihre Nachrichten- und Arbeitsdateien bleiben erhalten, wenn es sich bei dem Dialog um den Commit-Dialog handelt. Der Push-Dialog besagt, dass das Beheben eines bereits committeten Geheimnisses ein erneutes Committen oder Umschreiben erfordert.

Die Commit-Warnung wird in diesem Feld geöffnet. Das Standbild zeigt den Komponisten, nicht den Warndialog.GitTree-Schnittstelle mit einem Demonstrations-Repository. Lesen Sie die Warnung
Der Titel ist Possible secrets in this commit oder Possible secrets in this push. Jede Zeile benennt eine Regel, z. B. Private key, AWS access key, GitHub token, GitLab token, Slack token, Stripe live key, Google API key oder Sensitive file name, und eine Zeilennummer, sofern vorhanden. Token sind maskiert. Ein privater Schlüssel wird als Private key header angezeigt.
Halten Sie das Geheimnis aus dem Commit fern
Unstage File entfernt diese Datei aus dem Index. Add to .gitignore fügt eine Ignorierregel hinzu. Im Dialogfeld wird angegeben, dass durch Ignorierungsregeln bereitgestellte Inhalte nicht entfernt werden. Entfernen Sie daher auch die Bereitstellung der Datei. Um absichtlich eine Zeile zuzulassen, fügen Sie
gittree:allow-secretin dieser Zeile hinzu. Dadurch wird die Warnung für die Leitung gestoppt. Es verschlüsselt nichts.Fahren Sie nur fort, wenn Sie es beabsichtigen
Commit Anyway oder Push Anyway wird fortgesetzt. Cancel bringt Sie ohne Teilen zur Commit-Box oder zum Push zurück. Wenn einige Änderungen nicht überprüft wurden, wird dies im Dialog angezeigt. Behandeln Sie dies als unvollständigen Scan und nicht als sauberes Ergebnis.
Erwartetes Ergebnis
Entweder ist das Geheimnis nicht mehr gestagt, oder Sie haben sich entschieden, fortzufahren, nachdem Sie die Warnung gelesen haben. Überprüfen Sie den Diff des nächsten Commits, bevor Sie pushen. Eine .gitignore-Regel schreibt einen Commit nicht neu, der die Datei bereits enthält.
Was der Scan nicht abdeckt
Local secret warnings besagt, dass die Inspektion lokal und begrenzt bleibt und Sie die Möglichkeit haben, sie für die gesamte App zu deaktivieren. Die Lücken, die gemeldet werden können, sind The inspection limit was reached, Binary content was skipped, Lines longer than 4 KiB were skipped und Some content could not be inspected. The optional secret scan was unavailable bedeutet, dass Sie den Inhalt selbst überprüfen sollten.
| Lücke | Was zu tun |
|---|---|
| Binärer Inhalt wurde übersprungen | Öffnen Sie die Datei selbst. Der Scan liest es nicht. |
| Zeilen, die länger als 4 KiB sind, wurden übersprungen | Durchsuchen Sie diese Zeile in einem Editor. Ein Token in einer minimierten Zeile wird nicht gescannt. |
| Die Inspektionsgrenze wurde erreicht | Übertragen Sie einen kleineren Satz Dateien und lesen Sie den Rest. |
| Die Einstellung ist Aus | Es wird nichts gescannt, bis Sie „Warnen“ auswählen, bevor Sie fortfahren. |
Ignorieren Sie Regeln und bereitgestellte Dateien
Im Dialogfeld wird angezeigt, dass Ignore rules do not remove staged content. Unstage the file as well. git check-ignore anzeigen kann, dass ein Pfad mit .gitignore übereinstimmt, während git diff --cached ihn weiterhin im Index anzeigt. Deaktivieren Sie es und übernehmen Sie dann den Commit. Durch das Hinzufügen einer Regel wird die Datei nicht aus bereits vorhandenen Commits entfernt.
git diff --cached -- path/to/file
git restore --staged -- path/to/file
git check-ignore -v path/to/fileWenn sich das Geheimnis bereits auf dem Remote befindet, reicht es nicht aus, .gitignore zu ändern. Sie benötigen ein neues Commit, das es löscht, und eine Neufassung des Verlaufs, wenn ältere Commits es nicht enthalten dürfen. GitTree verspricht nicht, ein Geheimnis aus jedem Klon zu löschen. Siehe Dateien ignorieren und Hooks, wenn Sie möchten, dass auch ein Hook das Commit ablehnt.
Erlauben Sie absichtlich eine Zeile
Add gittree:allow-secret on a line to stop warning about it. Platzieren Sie diese Markierung in der Zeile, die committet werden soll, beispielsweise ein Fixture-Token, das kein echter Berechtigungsnachweis ist. Die Markierung ist in der Datei sichtbar. Verwenden Sie es nicht, um einen Live-Schlüssel zu verbergen. Commit Anyway wird committet, ohne die Markierung hinzuzufügen.
Push-Warnungen überprüfen die Commits, die Sie senden möchten. Possible secrets in this push kann die Bereitstellung einer Datei, die sich bereits in einem Commit befindet, nicht aufheben. Beheben Sie das Problem mit einem neuen Commit oder schreiben Sie den unveröffentlichten Verlauf neu und pushen Sie ihn dann erneut. Push mit Lease erzwingen ist der sichere Rewrite-Push, wenn die Veröffentlichung des Zweigs aufgehoben wird. Das Tutorial behandelt alltägliche Commits, bevor Sie diesen Dialog benötigen.
Wenn etwas schief geht
„Potenzielle Geheimnisse müssen von Ihnen überprüft werden, bevor Sie fortfahren.“
Der Commit oder Push wartet auf den Dialog. Heben Sie die Bereitstellung auf, ignorieren Sie die Leitung, lassen Sie sie zu oder wählen Sie „Trotzdem committen“ oder „Trotzdem pushen“. Bei „Abbrechen“ bleiben die Nachricht und die Arbeitsdateien für einen Commit erhalten.
„Regeln ignorieren entfernt bereitgestellte Inhalte nicht. Heben Sie auch die Bereitstellung der Datei auf.“
Zu .gitignore hinzufügen aktualisiert nur die Ignorierdatei. Drücken Sie „Unstage File“ oder führen Sie „git restart --staged“ aus, damit der nächste Commit den Pfad nicht enthält.
„Einige Änderungen wurden nicht geprüft.“
Der Scan wurde vorzeitig beendet, eine Binärdatei oder eine Zeile über 4 KiB übersprungen. Lesen Sie diese Dateien selbst, bevor Sie fortfahren.
„Der optionale geheime Scan war nicht verfügbar. Überprüfen Sie den Inhalt selbst.“
GitTree konnte den Scan nicht ausführen. Der Commit ist nicht als sauber zertifiziert. Lesen Sie das Diff und schreiben Sie es dann erst fest, wenn Sie es überprüft haben.
Fragen
Lädt GitTree meine Dateien hoch, um nach Geheimnissen zu suchen?
Nein. Die Einstellung besagt, dass die Inspektion lokal und begrenzt bleibt. Im Dialog wird überprüft, was Sie auf diesem Computer committen oder pushen möchten.
Ist ein sauberer Dialog ein Beweis dafür, dass es kein Geheimnis gibt?
Nein. Binärinhalte und Zeilen, die länger als 4 KiB sind, werden übersprungen, die Inspektion kann ein Limit erreichen und die Muster stimmen nicht mit jedem Geheimnis überein. Auch eine Warnung ist keine Garantie.
Entfernt .gitignore ein Geheimnis, das ich bereits bereitgestellt habe?
Nein. Durch Ignorieren von Regeln werden bereitgestellte Inhalte nicht entfernt. Heben Sie auch die Bereitstellung der Datei auf. Eine Regel schreibt auch alte Commits nicht neu.
Was macht gittree:allow-secret?
In einer Zeile wird die Warnung für diese Zeile gestoppt. Die Zeile wird weiterhin als Text committet. Verwenden Sie es nur für einen Wert, den Sie teilen möchten.
Kann ich die Warnungen ausschalten?
Ja. Einstellungen › Lokale geheime Warnungen › Aus. Das ist eine App-weite Auswahl. Der Scan wird erst ausgeführt, wenn Sie „Warnen“ festlegen, bevor Sie erneut fortfahren.