Ich arbeite mit einem Repo auf GitHub und jedes Mal, wenn ich versuche, etwas zu pushen, fragt es nach meinem GitHub-Benutzernamen und Passwort. Das will ich nicht.
Ich habe die Anleitung zum Einrichten Ihrer E-Mail in Git ausprobiert , nämlich das Einrichten der Git-Variablen github.user und github.token, aber das hat keinen Unterschied gemacht.
Ich verstehe nicht, warum das passiert.
Antworten:
Sie müssen einen SSH-Agenten einrichten, für den Sie sich nur einmal authentifizieren müssen. Siehe diese Antwort bei SO für eine Anleitung.
quelle
Hatte heute ein ähnliches Problem: Ich habe Dinge in meiner Arbeitskopie durcheinander gebracht, also habe ich beschlossen, das Verzeichnis umzubenennen und mein Projekt erneut von github zu klonen. Danach musste ich mein Passwort eingeben, um eine Pull- / Push-Anforderung auszuführen, anstatt die Passphrase nur einmal wie früher einzugeben.
Das lag daran, dass ich heute das https-Protokoll verwendet habe, um das Projekt zu klonen! Um zu überprüfen, welches Protokoll Sie verwenden, führen Sie es einfach aus
und schauen Sie sich die Zeile an, die mit 'remote.origin.url' beginnt.
So wechseln Sie Protokolle:
the_repository_username
undyour_project
sollte durch den entsprechenden Repository-Namen und den Eigentümer dieses Repositorys ersetzt werden. Der Benutzername wird Ihnen gehören, wenn Sie das Repository besitzen, oder der Benutzername des Repository-Besitzers ansonsten.quelle
[email protected]:some-user/repo-name.git
remote.origin.url
Einstellung auf die https-Methode und habe nicht einmal bemerkt, dass eshttps
vs-ssh
Methoden gibt. Diese URL hat mir geholfen, das Offensichtliche zu erkennen: help.github.com/articles/…git config remote.origin.url ...
den oben genannten und den oben genanntengit remote set-url origin ...
?git remote rm origin
Wenn Sie HTTPS anstelle von SSH verwenden, können Sie folgendermaßen vorgehen:
Finden Sie Ihre entfernte URL (remote.origin.url) mit
danke an Sergio Morstabilini
Ihre ferne URL lautet wie folgt: https: // {BENUTZERNAME} @ github.com / {BENUTZERNAME} / {REPONAME} .git
Führen Sie diesen Befehl aus:
quelle
@
, hat bei mir nicht funktioniert..git/config
Datei gespeichert!Ich bevorzuge die Verwendung von HTTPS. Ich finde es einfacher und sicherer als die Einrichtung der SSH-Schlüssel.
Mit HTTPS können Sie verhindern, dass git Ihren Benutzernamen nach github-Fernbedienungen fragt.
Und Sie können zumindest die Frequenz reduzieren, mit der Sie nach Ihrem Passwort gefragt werden:
Wobei 28800 8 Stunden sind. Ich benutze dieses Setup, um mein Passwort nur einmal einzugeben, wenn ich meinen Arbeitstag beginne.
Danach haben Sie diese Einträge in Ihrem
~/.gitconfig
Quelle:
http://git-scm.com/docs/git-credential-cache
http://git-scm.com/docs/git-config
quelle
Wenn Sie einen SSH-Schlüssel für Github einrichten, müssen Sie, falls dies nicht Ihr Standardschlüssel ist, einen Abschnitt zu Ihrem hinzufügen
~/.ssh/config
quelle
Wenn Sie unter Windows HTTPS verwenden, probieren Sie den Git-Anmeldeinformationsspeicher aus. Er verwendet den Windows-Anmeldeinformationsspeicher, um Ihren Namen und Ihr Kennwort zu speichern.
Wenn Sie dann das nächste Mal Ihren Namen und Ihr Passwort eingeben, werden diese für Sie gespeichert.
quelle
Wenn Sie außerdem jedes Mal zur Eingabe Ihres Kennworts aufgefordert werden möchten, jedoch nicht zur Eingabe Ihres Benutzernamens, konfigurieren Sie die Fernbedienung als HTTPS mit einem Benutzernamen.
Danach werden Sie jedes Mal zur Eingabe Ihres Passworts aufgefordert, jedoch nicht Ihres Benutzernamens.
So bevorzuge ich es, da ich gerne gezwungen bin, mein Github-Passwort einzugeben, bevor ich es mit der Welt teile.
quelle
Die Dinge sind ein wenig anders, wenn Sie 2-Faktor-Authentifizierung verwenden, wie ich es bin. Da ich anderswo keine gute Antwort gefunden habe, werde ich eine hier einfügen, damit ich sie später vielleicht finde.
Wenn Sie die 2-Faktor-Authentifizierung verwenden, funktioniert die Angabe von Benutzername / Kennwort nicht. Ihnen wird der Zugriff verweigert. Sie können jedoch ein Anwendungszugriffstoken verwenden und das Hilfsprogramm für Anmeldeinformationen von git verwenden, um es für Sie zwischenzuspeichern. Hier sind die relevanten Links:
Und ich erinnere mich nicht, wo ich das gesehen habe, aber wenn Sie nach Ihrem Benutzernamen gefragt werden, kleben Sie dort das Zugriffstoken für die Anwendung ab. Dann lassen Sie das Passwort leer. Arbeitete auf meinem Mac.
quelle
benutze SSH
Um zu verhindern, dass GitHub beim Pushen nach dem Passwort fragt, sollten Sie im Idealfall SSH (
[email protected]:...
) anstelle von HTTPS URL (https://github.com/...
) verwenden und Ihren SSH-Schlüssel zu Ihrem GitHub-Konto hinzufügen . Siehe: Welche entfernte URL soll ich verwenden?ein Ausweishelfer
Wenn Sie HTTPS wirklich benötigen, um Ihr GitHub-Kennwort in Git zwischenzuspeichern , sollten Sie einen Anmeldeinformationshelfer verwenden , um Git anzuweisen, sich bei jeder Kommunikation mit GitHub Ihren GitHub-Benutzernamen und Ihr Kennwort zu merken.
git config --global credential.helper osxkeychain
(osxkeychain helper
wird benötigt),git config --global credential.helper wincred
git config --global credential.helper cache
.netrc
Eine andere Methode ist die Konfiguration Ihres Benutzers / Passworts in
~/.netrc
(_netrc
unter Windows), zOAuth
Verwenden Sie das OAuth-Token ( Personal API-Token ), um die Änderungen zu übertragen, z
Verbunden:
quelle
Wenn Sie Windows verwenden, können Sie auch Folgendes verwenden:
Sie müssen sich nur noch einmal anmelden und git wird sich daran erinnern.
quelle
Nach dem Benutzernamen zu fragen ist für mich ärgerlich, aber nach einem Passwort zu fragen ist nett, da es sicherstellt, dass Sie wirklich mit Ihren Änderungen an die Öffentlichkeit gehen wollen ...
Also füge ich das einfach zu meiner ".gitconfig" hinzu
quelle
Verwenden Sie Git Credential Manager für Windows , wenn Sie Windows verwenden.
Laden Sie einfach die neueste Version herunter und installieren Sie sie.
quelle