378 Stimmen

Warum fragt Github nach Benutzername/Passwort, wenn ich den Anweisungen auf dem Bildschirm folge und ein neues Repo veröffentliche?

Ich bin der Besitzer einer Organisation auf Github und habe gerade ein Repo erstellt und versucht zu pushen, aber ich stoße auf ein Problem, bei dem ich nach meinem Benutzernamen gefragt werde, obwohl ich SSH ganz gut kann:

$ ssh -T git@github.com
Hi Celc! You've successfully authenticated, but GitHub does not provide shell access.
$ git add .
$ git commit -m 'first commit'
[master (root-commit) 3f1b963] first commit
 6 files changed, 59 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 main.js
 create mode 100644 package.json
 create mode 100644 readme.markdown
 create mode 100644 views/index.ejs
 create mode 100644 views/layout.ejs
$ git remote add origin https://github.com/WEMP/project-slideshow.git
$ git push -u origin master
Username for 'https://github.com':

Was mache ich falsch? Das ist mir noch nie passiert, aber ich habe kürzlich auch auf Git 1.7.10.3 aktualisiert.

801voto

Hugo Punkte 11719

Verwenden Sie nicht HTTP, sondern SSH

ändern

https://github.com/WEMP/project-slideshow.git 

zu

git@github.com:WEMP/project-slideshow.git

Sie können es tun in .git/config Datei

63voto

Sean Punkte 7747

Ich hatte das gleiche Problem und fragte mich, warum es nicht mit einem Bitbucket-Repository, das mit https geklont wurde, passiert. Bei näherer Betrachtung stellte ich fest, dass die Konfiguration für das BB-Repository eine URL enthielt, die meinen Benutzernamen enthielt. Also habe ich die Konfiguration für mein GH-Repository manuell bearbeitet, und voila, keine Eingabeaufforderung mehr für den Benutzernamen. Ich arbeite mit Windows.

Editar your_repo_dir/.git/config (Zur Erinnerung: .git Ordner ist ausgeblendet)

Ändern:

https://github.com/WEMP/project-slideshow.git

zu:

https://*username*@github.com/WEMP/project-slideshow.git

Speichern Sie die Datei. Machen Sie eine git pull um es zu testen.

Der richtige Weg, dies zu tun, ist wahrscheinlich die Verwendung von Git-Bash-Befehlen, um die Einstellung zu bearbeiten, aber die direkte Bearbeitung der Datei schien kein Problem zu sein.

35voto

Catalin Hritcu Punkte 773

Hier ist ein offizielle Antwort dazu:

Wenn Git Sie jedes Mal, wenn Sie versuchen, mit GitHub zu interagieren, zur Eingabe eines Benutzernamens und Passworts auffordert, verwenden Sie wahrscheinlich die HTTPS-Klon-URL für Ihr Repository.

Verwendung von eine HTTPS-Fern-URL hat einige Vorteile: Es ist einfacher einzurichten als SSH und funktioniert in der Regel über strenge Firewalls und Proxys. Allerdings werden Sie jedes Mal, wenn Sie ein Repository ziehen oder pushen, aufgefordert, Ihre GitHub-Anmeldedaten einzugeben.

Sie können Git so konfigurieren, dass es Ihr Passwort für Sie speichert. Wenn Sie das einrichten möchten, lesen Sie alles über Passwort-Caching einrichten .

20voto

kaushal Punkte 751

Die Verbesserung von @Ianl's Antwort ,

Wenn die 2-Schritt-Authentifizierung aktiviert ist, müssen Sie anstelle des Passworts ein Token verwenden. Sie könnten ein Token generieren aquí .

Wenn Sie die Eingabeaufforderung für den Benutzernamen und das Kennwort deaktivieren möchten, können Sie die URL wie folgt einstellen

git remote set-url origin https://username:password@github.com/WEMP/project-slideshow.git

Beachten Sie, dass die URL sowohl den Benutzernamen als auch das Passwort enthält. Auch die .git/config Datei sollte Ihre aktuellen Einstellungen anzeigen.


Aktualisierung 20200128:

Wenn Sie das Passwort nicht in der Konfigurationsdatei speichern wollen, können Sie Ihr persönliches Token generieren und das Passwort durch das Token ersetzen. Hier sind einige Details .

Es würde folgendermaßen aussehen -

git remote set-url origin https://username:token@github.com/WEMP/project-slideshow.git

16voto

IanI Punkte 350

Eine zusätzliche Anmerkung:

Wenn Sie bereits eine Remote hinzugefügt haben ($git remote add origin ... ) und diese bestimmte Remote ändern müssen, entfernen Sie sie zuerst ($ git remote rm origin), bevor Sie die neue und verbesserte Repository-URL erneut hinzufügen (wobei "origin" der Name für das Remote-Repository war).

um das ursprüngliche Beispiel zu verwenden:

$ git remote add origin https://github.com/WEMP/project-slideshow.git
$ git remote rm origin
$ git remote add origin https://github-username@github.com/WEMP/project-slideshow.git

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X