Ich möchte git send-mail
verwenden, um Patches upstream zu senden, aber mein Google Mail-Konto verwendet eine zweistufige Authentifizierung. Google bietet App-spezifische Passwörter für solche Dinge, aber meine Frage ist Wo ist ein sicherer Ort, um dieses Passwort für die Verwendung mit git send-mail zu speichern?
Stellt sich heraus, dass git einen Berechtigungsnachweisspeicher hat. Linux, OS X und Windows haben alle Anmeldeberechtigungen, die Anmeldeinformationen vom Schlüsselring des Betriebssystems sammeln können. Diese Antwort enthält einige Beispiele.
BEARBEITEN
Wenn Sie den Patch lieber in Ihrem Entwurfsordner speichern möchten, damit Sie ihn vor dem Senden überprüfen können (oder nur, damit Gmail den Thread besser verfolgt), können Sie Folgendes tun:
%Vor% Beachten Sie, dass git zum Zeitpunkt des Schreibens die Verwendung von git-credential
für git-imap-send
nicht unterstützt. Ich habe einen Patch geschrieben, um das zu beheben. Es wartet darauf, in den Upstream integriert zu werden, aber wenn Sie ungeduldig sind, ist es hier verfügbar.
Sie können die normale Git-Konfiguration verwenden, um das Passwort zu speichern, zB:
%Vor%Das wird natürlich das Passwort im Klartext speichern. Sie sollten sicherstellen, dass Ihre ~ / .gitconfig-Datei von anderen nicht gelesen werden kann.
Sie können das Passwort auch in einer verschlüsselten Datei speichern und verwenden. Sie müssten sich immer noch daran erinnern und das Passwort für die Verschlüsselung eingeben, aber zumindest könnten Sie dieses Passwort wählen. Etwas wie gpg2
sollte den Trick machen.
Natürlich ist der einzige wirklich sichere Ort, um das Passwort zu speichern, zwischen Ihren Ohren.
Git 2.0.x / 2.1 (Q3 2014) unterstützt git credential
für git imap-send
.
Siehe commit 791643a von Dan Albert ( DanAlbert
) , jetzt mit git/git master
branch:
git-imap-send
hat direkt nach einem Passwort gefragt, anstattgit-credential
zu verwenden.git-send-email
hingegen unterstütztgit-credential
.Dies ist eine notwendige Verbesserung für Benutzer, die eine Zwei-Faktor-Authentifizierung verwenden, da von ihnen nicht erwartet werden sollte, dass sie sich an alle ihre anwendungsspezifischen Passwörter erinnern.
Update 2017, für Git 2.14.x / 2.15 (4. Quartal 2017), git imap-send
wird dies tun immer noch entwickeln.
Siehe commit dbba42b , commit 19079b3 , commit 690307f , commit 200bc38 (14 Sep 2017) von Nicolas Morey-Chaisemartin ( nmorey
) .
(Zusammengeführt von Junio C Hamano - gitster
- in commit b67f154 , 25. September 2017)
"
git imap-send
" hat unsere eigene Implementierung des Protokolls und auch kann neuerelibCurl
mit derimap
-Protokollunterstützung verwenden.
Aktualisieren Sie Letzteres, damit es das Anmeldeinformations-Subsystem verwenden kann, und dann mach es zu der Standardoption, die wir verwenden können, damit wir es schließlich ablehnen und entfernen können.
Tags und Links gmail git two-factor-authentication