Ich möchte diesen Befehl in einer Zeile ausführen:
git pull && [my passphrase]
Wie es geht?
Ich möchte diesen Befehl in einer Zeile ausführen:
git pull && [my passphrase]
Wie es geht?
Antworten:
Dies ist nicht genau das, wonach Sie gefragt haben, sondern nach http (s):
https://user:pass@domain/repo
aber das wird nicht wirklich empfohlen, da es Ihren Benutzer / Pass an vielen Stellen anzeigen würde ...Verwendungsbeispiele für Helfer für Anmeldeinformationen
git config credential.helper store
- speichert die Anmeldeinformationen auf unbestimmte Zeit.git config credential.helper 'cache --timeout=3600'
- 60 Minuten lagernFür den SSH-basierten Zugriff verwenden Sie den SSH-Agenten, der bei Bedarf den SSH-Schlüssel bereitstellt. Dies würde das Generieren von Schlüsseln auf Ihrem Computer, das Speichern des öffentlichen Schlüssels auf dem Remote-Server und das Hinzufügen des privaten Schlüssels zum relevanten Schlüsselspeicher erfordern.
Ich habe eine Möglichkeit gefunden, Anmeldeinformationen für eine https-Verbindung in der Befehlszeile anzugeben. Sie müssen nur die vollständige URL für git pull angeben und dort die Anmeldeinformationen angeben:
git pull https://username:password@mygithost.com/my/repository
Sie müssen das Repository nicht vorher mit den Anmeldeinformationen klonen lassen. Dies bedeutet, dass Ihre Anmeldeinformationen nicht landen .git/config
. (Aber stellen Sie sicher, dass Ihre Shell Sie nicht verrät und die Befehlszeile in einer Verlaufsdatei speichert.)
:password
Teil weglassen , werden Sie nach Eingabe der Eingabetaste zur Eingabe des Kennworts aufgefordert. Auf diese Weise wird Ihr Passwort nicht im Bash-Verlauf gespeichert.
Beantwortet die Frage nicht direkt, aber ich habe diese Frage gefunden, als ich nach einer Möglichkeit gesucht habe, das Kennwort nicht jedes Mal neu einzugeben, wenn ich auf einen Remote-Server ziehe .
Nun, git
ermöglicht es Ihnen, Ihre Anmeldeinformationen für eine begrenzte Zeitspanne zwischenzuspeichern. Es ist anpassbar in git config
und diese Seite erklärt es sehr gut:
https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux
Führen Sie in einem Terminal Folgendes aus:
$ git config --global credential.helper cache
# Set git to use the credential memory cache
So passen Sie das Cache-Zeitlimit an:
$ git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
Ihre Anmeldeinformationen werden dann für die angeforderte Zeit im Speicher gespeichert.
Beachten Sie, dass sich die Art und Weise, wie der Git-Anmeldeinformations-Helfer "speichern" die unverschlüsselten Kennwörter speichert, mit Git 2.5+ ändert (Q2 2014).
Siehe Commit 17c7f4d von Junio C Hamano ( gitster
)
credential-xdg
Optimieren Sie das Beispiel-
store
Backend des Helfers für Anmeldeinformationen, um die Speicherorte der XDG-Konfigurationsdatei zu berücksichtigen, wenn dies angegeben ist.
Der Arzt sagt jetzt:
Wenn nicht angegeben:
- Anmeldeinformationen werden von
~/.git-credentials
und nach$XDG_CONFIG_HOME/git/credentials
und gesucht- Anmeldeinformationen werden geschrieben,
~/.git-credentials
wenn sie vorhanden sind oder$XDG_CONFIG_HOME/git/credentials
wenn sie vorhanden sind und erstere nicht.
Das folgende cmd funktioniert, wenn wir kein @ in-Passwort haben:
git pull https://username:pass@word@mygithost.com/my/repository
Wenn Sie ein @ in-Passwort haben, ersetzen Sie es durch% 40, wie unten gezeigt:
git pull https://username:pass%40word@mygithost.com/my/repository