Wie man Git nur auffordern, das Passwort bei der push zum remote-repository
Die Anforderung ist wohl seltsam. Aber manchmal habe ich wirklich diese Funktionalität benötigen. Ok, hier ist das Ding, ich arbeite immer hinter Proxys. Entweder im Büro bin ich mit corp-proxy oder zu Hause, bin ich mit VPN und proxy, sowie (Sie wissen, ich bin in China, so dass ich hoffe, Sie verstehen können).
In der Regel bin ich mit git-Protokoll zu verbinden github-repository, aber es ist schwer für mich zu einen proxy hinter git-Protokoll, also habe ich beschlossen, wechseln Sie wieder zu " http(s) mit dem folgenden Befehl
git remote set-url origin https://github.com/<username>/repo.git
git config http.proxy http://proxy:8080
Und es funktioniert wie ein Charme. Aber git fragt Benutzername und Passwort immer wenn ich die Verbindung zum remote-server, zum Beispiel pull/push.
Ich habe nur einen github-account und ich möchte, um sich Tipparbeit ersparen, die Frage ist also, wie vermeiden Sie die Eingabe von github username jedesmal, wenn ich drücken wollen. Ich könnte akzeptieren, um Typ mein Passwort, aber ich weiß nicht möchten geben Sie Benutzername. Wie erreichen Sie das?
git remote set-url https://<username>@github.com/<username>/repo.git
Dank Nevik, ist dies der richtige Weg zu gehen. Es sollte jedoch
git remote set-url origin https://<username>@github.com/<username>/repo.git
oh yeah, sorry. Ich habe gerade kopiert den Befehl aus deinem post und nicht achten 😀
InformationsquelleAutor EthanZ | 2013-09-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Store Passwort
Könnte man sagen, git zum speichern Ihrer Anmeldeinformationen mithilfe des folgenden Befehls:
Diese Methode verwenden, müssen Sie nur geben Sie Ihren Benutzernamen und Ihr Passwort einmal und git wird niemals um etwas bitten es wieder. Aber bitte beachten Sie, dass Ihre Passwort wird in Klartext gespeichert das ist nicht groß in Bezug auf die Sicherheit.
Cache-Passwort
Können Sie auch für die Zwischenspeicherung statt, die Ihr Kennwort zu speichern, nachdem Sie schrieb es einmal in einer Sitzung, die für einige Zeit.
Dies ist mehr sicher wie dein Passwort nicht auf der Festplatte gespeichert - nur vorübergehend im Arbeitsspeicher. Sie können den timeout-selbst wenn Ihr nicht zufrieden mit dem Standard:
Wieder einmal ist dies nicht immer ideal.
SSH-Agent - Die Ideale Lösung
Was Sie sollten wirklich mit dem
ssh
- Protokoll, push-und pull-Ihre Daten. Dies ermöglicht es Ihnen, Ihren privaten ssh-Schlüssel zu authentifizieren, selbst - was wird von Ihrem Betriebssystem installiert wird, der key-agent. Dies sollte die Arbeit mit proxies ohne Probleme, so sollten Sie auf jeden Fall give it a go.Können Sie es, indem Sie Ihre remote-url wie folgt:
Wenn Sie mit einem anderen hosting-Dienst wie bitbucket, ersetzen Sie einfach "github.com" mit Ihrem domain-Anbieter.
Sobald Sie das tun, werden Sie brauchen, um einen öffentlichen und einen privaten Schlüssel für die Kommunikation zwischen github und Ihrem computer. Es ist ein sehr gutes tutorial auf, wie es eingerichtet hier. Wenn Sie mit Linux oder MacOSX müssen Sie einfach Folgen Sie den Schritten beim ausführen des Befehls
ssh-keygen
.Danach können Sie sich einen SSH-agent zu speichern wie auch Ihr Passwort für Sie, das ist in der Regel sicherer. SSH-Agenten in der Regel Fragen Sie bei der Eingabe Ihres Passworts nur einmal nach dem einschalten auf Ihrem computer - aber danach sollte es alles automatisch für Sie. Passwörter sicher gespeichert werden, auf diese Weise im Gegensatz zu der ersten Lösung, die speichert Passwörter im Klartext.
Den SSH-agent verwenden Sie abhängig von Ihrem Betriebssystem, aber es sollte nicht schwer einzurichten. Mit den meisten gängigen Linux-Distributionen sollten Sie nicht brauchen, etwas zu tun und ich bin informiert worden, in einem Kommentar unten, dass Sie können Windows wie folgt:
Habe ich noch nie benutzt MacOSX, so kann ich nicht sicher sagen, ob diese automatisch eingerichtet, wie es im Ubuntu-basierte Distributionen.
Warum
git config credentials.helper store
bei mir nicht funktioniert. Es Eingabeaufforderung für das Kennwort jedes mal, wenngit remote show origin
Sorry, ist mein Fehler. Es sollte
git config credential.helper store
. Sagen Sie mir, wie es geht.Btw, müssen Sie git 1.7.10 oder später zu verwenden
credential.helper
. Die neueste git ist 1.8.3, obwohl, so dass Sie sollten in Ordnung sein, wenn Sie vor kurzem heruntergeladen haben. Sie können überprüfen Sie Ihre git-version mitgit --version
Wenn Sie mithilfe von Git für Windows, verwenden Sie
git config --global credential.helper wincred
.InformationsquelleAutor Michael Aquilina
Abgeschlossen Nevik's Kommentar, können Sie den url ändern eines bestehenden repo:
Wird, geben Sie den Benutzernamen für die proxy-Authentifizierung benötigt, verlassen Sie das Passwort eingeben.
Ich persönlich Speicher alle meine anderen Anmeldeinformationen (GitHub, BitBucket, ...) in einem verschlüsselten
%HOME%\_netrc.gpg
(Windows) oder~/.netrc.gpg
(Unix) mit Hilfe des_netrc
credential helper (git1.8.3+), eher als der Speicher-cache-credential helper beschrieben in Michael's Antwort.Sehen Sie mehr an "Konfigurieren Sie Git-clients, wie GitHub für Windows", nicht Fragen, für die Authentifizierung".
Der Unterschied ist:
Plus, wenn Sie aktiviert GitHub zwei-Faktor-Authentifizierung, können Sie nicht mehr verwenden Sie Ihre regelmäßigen GitGub Passwort, aber Sie müssen eine Persönliche "Access Token", das ist eine 40-Länge beliebige Zeichenfolge. Ein Grund mehr, um zu speichern, dass ein für alle mal in einer verschlüsselten Datei, anstatt es zu betreten, einmal pro Sitzung.
Was ich gerade beschrieb, ist für die https-url, die, meiner Meinung nach, bleibt die Verwaltung einfacher als ssh-url, mit Ihren public/private ssh-Schlüssel, die Sie brauchen, um die passphrase zu schützen, und, die Sie zum veröffentlichen auf Ihrem GitHub-account (verschiedene pro-workstation, da Sie nicht die Wiederverwendung von ssh-Schlüsseln)
InformationsquelleAutor VonC
Dies ist die einfache Lösung
zum speichern Tippen, können Sie verwenden Sie die folgenden Schritte in git bash leicht..
(1) erstellen Sie das remote-repository
Hinweis: Wenn Sie Ihr Kennwort enthält ' @ ' - Zeichen, verwenden Sie '%40' statt, die
(2) Dann tun, was Sie wollen mit dem remote-repository
InformationsquelleAutor tharakaucsc