Wann immer ich versuche, mich in mein Repo-Git zu schieben, werde ich nach beidem gefragt username & password
.
Ich habe kein Problem damit, mein Passwort jedes Mal neu einzugeben, aber das Problem besteht darin, den Benutzernamen einzugeben. Ich https
klone mein Repository.
Also, wie kann ich configure git , so dass es nicht für sich fragt , username
auf jedem git push
.
Ich bin neu in Linux, aber IIRC in Windows git push
fragt nur nach dem Passwort.
Antworten:
Bearbeiten (von @ dk14 wie von Moderatoren und Kommentaren vorgeschlagen)
WARNUNG: Wenn Sie
credential.helper store
die Antwort verwenden, wird Ihr Passwort vollständig unverschlüsselt ("wie es ist") unter gespeichert~/.git-credentials
. Bitte konsultieren Sie den Kommentarbereich unten oder die Antworten aus dem Abschnitt "Verknüpft", insbesondere wenn Ihr Arbeitgeber keine Toleranz für Sicherheitsprobleme hat.Obwohl akzeptiert, beantwortet es nicht die Frage des eigentlichen OP, nur einen Benutzernamen (kein Passwort) wegzulassen. Für die Leser mit genau diesem Problem könnte die Antwort von @ grawity nützlich sein.
Ursprüngliche Antwort (von @Alexander Zhu):
Sie können Ihre Anmeldeinformationen mit dem folgenden Befehl speichern
Ich empfehle Ihnen auch zu lesen
$ git help credentials
quelle
git config --unset credential.helper
Sie können dies in der
.git/config
Datei Ihres lokalen Repositorys erreichen. Diese Datei enthält einen Abschnitt namens "remote" mit einem Eintrag namens "url". Der 'URL'-Eintrag sollte den https-Link des Repositorys enthalten, über das Sie sprechen.Wenn Sie der Host-URL Ihren Benutzernamen voranstellen,
git
sollten Sie nicht mehr nach Ihrem Benutzernamen fragen. Hier ist ein Beispiel:quelle
git config credential.helper store
.username for https://gitlab.com:
unable to access 'https://<me>@bitbucket.org:<x>/<y>.git/': Illegal port number
Permanente Authentifizierung mit Git-Repositorys
Führen Sie den folgenden Befehl aus, um das Caching von Anmeldeinformationen zu aktivieren:
Die Verwendung sollte auch angeben, dass das Caching abläuft
Nach dem Aktivieren des Caching von Anmeldeinformationen wird dieser für 7200 Sekunden (2 Stunden) zwischengespeichert .
Anmeldeinformationen lesen Dokumente
quelle
git config credntial.helper store
gefährliche Befehl, der für das Speichern der Klartext-Anmeldeinformationen in der Datei ~ / .git-credentials verantwortlich ist? Ich denke (und meiner Erfahrung nach), dass der Befehl ... cache ...- ausreicht:git config --clogal credential.helper 'cache --timeout 7200'
Er erstellt das Verzeichnis:~/.git-credential-cache
mit der Cache-Datei darin. Führen Sie also einfach diesen Befehl aus und NICHT den Befehl "... store"Fügen Sie neue SSH-Schlüssel hinzu, wie in diesem Artikel auf GitHub beschrieben .
Wenn Git Sie weiterhin nach Benutzername und Passwort fragt, versuchen Sie
https://github.com/
,[email protected]:
in der Remote-URL zu wechseln :quelle
git config remote.origin.url "ssh://git@yourRepoHost/yourRepoName.git"
Der einfachste Weg, den ich gefunden habe, war mit diesem Befehl:
Dies funktioniert Site für Site und ändert Ihre globale Git-Konfiguration.
Verwenden Sie:
quelle
Wenn Sie https anstelle von ssh verwenden, können Sie "url"
.git/config
wie von user701648 angegeben bearbeiten. Wenn Sie möchten, können Sie jedoch auch das Kennwort hinzufügen:quelle
@
in meinem Passwort enthalten ist?url = https://username:abc@[email protected]
Es gibt mir Fehler, dassCould not resolve host: @[email protected]
username
Teil scheint ignoriert zu werden, wenn der Server umleitet (z. B. von FOO zu FOO.git).Sie können Ihren Benutzernamen für alle Repositorys an einer bestimmten Site festlegen, indem Sie Folgendes in Ihre Git-Konfigurationsdatei einfügen. Sie möchten " https://example.com " und "ich" in die tatsächliche URL und Ihren tatsächlichen Benutzernamen ändern .
(Dies ist direkt von "git help credentials")
quelle
Das Ändern des geklonten Repos funktioniert:
Die Verwendung von zwischengespeicherten Anmeldeinformationen funktioniert, und das Festlegen des Zeitlimits macht die Dinge weniger ärgerlich. Wenn Sie den Windows-Helfer für Anmeldeinformationen verwenden, sollte dies die einfachste Methode sein (insbesondere, wenn SSH blockiert ist).
quelle
Stellen Sie sicher, dass Sie SSH anstelle von http verwenden. Überprüfen Sie diese SO-Antwort.
quelle
http
weil in meiner Universitätssh
von der Sys-Admin-Abteilung blockiert wird.git config --global credential.helper cache
quelle
Zusätzlich zur Antwort von user701648 können Sie Ihre Anmeldeinformationen in Ihrem Basisordner (global für alle Projekte) anstelle des Projektordners mit dem folgenden Befehl speichern
quelle
Wenn ich nur git pull it git pull origin xxx , git frage nach Benutzername und Passwort.
Es klappt.
quelle
Am einfachsten ist es, eine
~/.netrc
Datei mit folgendem Inhalt zu erstellen :(wie hier gezeigt: https://gist.github.com/ahoward/2885020 )
Sie können sogar die Berechtigungen für diese Datei schließen, sodass niemand Ihr Kennwort lesen kann, indem Sie Folgendes eingeben:
quelle
Wenn Sie die SSH- Version verwenden, haben Sie keine Probleme mit Kennwörtern. Nur einmal generieren Sie einen SSH- Schlüssel, um git mitzuteilen, dass dieser PC mit diesem Github-Konto funktioniert, und fragen Sie mich nie wieder nach einem Zugriff (für diesen PC).
So generieren Sie SSH für Github
quelle
Um die Eingabe eines Benutzernamens zu vermeiden, aber dennoch aufgefordert werden, ein Kennwort einzugeben, können Sie einfach Ihr Repository einschließlich des Benutzernamens klonen:
quelle
$ git config credential.helper store
$ git push / push https://github.com/xxx.git
Geben Sie dann Ihren Benutzernamen und Ihr Passwort ein.
quelle
git push/push https://github.com/xxx.git
es sein solltegit push https://github.com/xxx.git
ssh
+key authentication
ist zuverlässiger alshttps
+credential.helper
Sie können die Verwendung von SSH anstelle von HTTPS für alle Repositorys wie folgt konfigurieren:
url.<base>.insteadOf
ist hier dokumentiert .quelle
Schnelle Methode
Holen Sie sich die URL Ihres Git, wenn Sie sich im Arbeitsverzeichnis befinden:
dann :
fragt einmal nach Benutzername und Passwort
erledigt.
quelle
Du kannst einfach rennen
nach der Installation und Anmeldung bei GIT für Windows in Ihrem System.
quelle
(Nur für Mac OS)
Informationen zu Windows und Linux finden Sie unter dem unten genannten Dokumentationslink von Github.
Aus der Github-Dokumentation: Dokumentationslink
Zwischenspeichern Ihres GitHub-Passworts in Git
Sie benötigen Git 1.7.10 oder neuer, um den osxkeychain-Helfer für Anmeldeinformationen zu verwenden.
Um herauszufinden, ob der osxkeychain-Helfer bereits installiert ist:
Wenn Sie die folgende Antwort erhalten, haben Sie es bereits installiert und können es auf Ihrem Mac verwenden:
Wenn Sie keine Antwort wie oben gezeigt erhalten, können Sie sie mit folgendem Befehl installieren:
um git anzuweisen, osxkeychain global für git-Anmeldeinformationen zu verwenden:
Es wird einmal aufgefordert, bevor Anmeldeinformationen im Schlüsselbund gespeichert werden .
quelle