Das GitHub-Passwort wurde geändert und kann nicht mehr auf die Fernbedienung zurückgesetzt werden

111

Nachdem ich mein GitHub-Passwort geändert habe, kann ich keine Übertragung auf die Fernbedienung durchführen:

$ git push origin master
remote: Invalid username or password.

Gibt es nur ein erneutes Klonen des Repositorys?

kenu.heo
quelle
Entfernen Sie einfach die Fernbedienung und fügen Sie sie erneut hinzu
onmyway133
1
"Ja wirklich?" "Entfernen Sie einfach die Fernbedienung und fügen Sie sie erneut hinzu"? Bei einigen Vorgängen ist es unpraktisch und fehleranfällig, von vorne zu beginnen.
Jason S
1
Dies kann auch nach dem Aktivieren der Zwei-Faktor-Authentifizierung geschehen. In diesem Fall sollten Sie die Anweisungen hier befolgen
Mechatroner
@JasonS Das erneute Hinzufügen einer Fernbedienung ist kaum "von vorne anfangen". Dies würde nur die lokalen Kopien von Remote-Zweigen ändern, die Sie ohnehin nicht direkt ändern. Alle lokalen Niederlassungen würden intakt bleiben, obwohl ich nicht sicher bin, ob die Nachverfolgung betroffen wäre.
jpmc26
@ jpmc26 Ich meine nicht den Repository-Inhalt, sondern das erneute Hinzufügen der URL.
Jason S

Antworten:

187

Wenn Sie nur das Kennwort Ihrer Fernbedienung geändert haben, nicht den Benutzernamen, versuchen Sie den folgenden Befehl, um die Informationen der Fernbedienung zu überprüfen: -

Git Remote Show Ursprung

Dadurch werden Sie nach Ihrem Passwort für den angegebenen Git-Benutzer gefragt, geben dieses korrekt ein und versuchen nun: -

Git Pull

oder,

Git Push

Es sollte funktionieren, es sei denn, Sie müssen andere Dinge wie Benutzername oder Remote-URL ändern. Sie können sich die folgende Git-Dokumentation ansehen: -

https://help.github.com/articles/setting-your-username-in-git/

https://help.github.com/articles/changing-a-remote-s-url/

Amit
quelle
9
Für mich geht das. git remote show originzeigt prompt
Lazaro Fernandes Lima Suleiman
14
Interessant - git remote show originhat mich nicht dazu aufgefordert, es hat mich nur showgereizt, also dachte ich, es ist fehlgeschlagen (bei dem, was ich brauchte). Aber für alle Fälle habe ich es dann versucht git push origin masterund das hat mich dazu veranlasst. Also ... ich bin immer noch da, wo ich sein musste :)
dwanderson
1
Versuchte dies mit IntelliJ und Android Studio und beide funktionierten nicht ohne Neustart, wahrscheinlich weil Anmeldeinformationen zwischengespeichert werden. Ich habe die Antwort bearbeitet, um dies widerzuspiegeln.
Oliver Hausler
2
Arbeitete genau wie für mich beschrieben.
Nabrown
2
Funktionierte wie erwartet auf dem Mac. Sollte als Antwort akzeptiert werden.
Aakanksha
38

So aktualisieren Sie das Passwort in Ihrem Terminal. Versuchen Sie den folgenden Befehl. Sie werden erneut zur Eingabe des Kennworts aufgefordert.

git push -u origin master
versteckte Perlen
quelle
37

Das OP kenu.heo hat das Problem umgangen, indem es das Repo entfernt und dann erneut geklont hat.

Aber für andere:

Dies hängt von Ihrem Betriebssystem, Ihrer Git-Version und dem von Ihnen verwendeten Protokoll ab.

Je nach Betriebssystem haben Sie Möglichkeiten, Ihre Anmeldeinformationen zwischenzuspeichern ( OSX KeyChain unter Mac , Netrc Helfer für Anmeldeinformationen unter Windows oder Linux ). Dies könnte erklären, warum Ihr Push nach dem Ändern Ihres GitHub-Kennworts nicht funktioniert.
Für einen Schlüsselbund müssten Sie das darin gespeicherte Kennwort zurücksetzen .

Dieses Kennwortproblem deutet auch darauf hin, dass Sie eine https-URL verwenden (keine SSH-URL, die von öffentlichen / privaten SSH-Schlüsseln abhängt und nicht durch ein GitHub-Kontokennwort beeinflusst wird, da der öffentliche SSH-Schlüssel in Ihrem GitHub-Konto registriert ist hätte sich nicht geändert).

Überprüfen Sie das mit einem git remote -v.

Sie können git zwingen, Ihr GitHub-Login zu verwenden, mit:

git remote set-url origin https://[email protected]/Username/MyRepo.git

(Ersetzen Sie ' Username' und ' MyRepo.git' durch Ihre eigenen Werte)

Versuchen Sie dann erneut zu pushen, es sollte nach Ihrem GitHub-Passwort fragen. Geben Sie den neuen ein.

Wenn dies nicht funktioniert, überprüfen Sie, ob Sie die 2FA (2-Form Authentication) aktiviert haben. In diesem Fall müssen Sie einen PTA (Personal Token Access) generieren.
Weitere Informationen finden Sie unter " Konfigurieren von Git-Clients wie GitHub für Windows, um keine Authentifizierung anzufordern ".

VonC
quelle
Danke, ich benutze MacOSX, Git 1.8.x. Ich habe daran gearbeitet, das lokale Repo zu entfernen und es dann zurückzulehnen.
Kenu.heo
2
@ Kenu.heo ok. Ich habe die Antwort so bearbeitet, dass sie Ihre Schlussfolgerung enthält, aber ich habe auch Elemente hinzugefügt, die anderen helfen könnten.
VonC
git remote set-url origin https://github.com/shared_repo/shared_repo.gitarbeitete für mich unter Windows von der Git Shell
Choylton B. Higginbottom
Funktioniert unter Ubuntu 16.04 LTS.
SD
22

Auf einem Windows-System hat keiner der Schritte für mich funktioniert. Das Problem besteht darin, dass die Anmeldeinformationen im Windows-Anmeldeinformations-Manager gespeichert sind.

Sie können zu Systemsteuerung -> Benutzerkonten -> Anmeldeinformations-Manager -> Windows-Anmeldeinformationen wechseln

Unter Allgemeine Anmeldeinformationen finden Sie Ihre Git-URL, erweitern Sie die Auswahl und klicken Sie auf Bearbeiten.

Einmal bearbeitet, einfach einen Git-Push erneut auslösen und es sollte funktionieren.

Informationsquelle: - Entfernen Sie die Anmeldeinformationen von Git

Saft
quelle
1
Ich kann das gleiche unter Windows 10 bestätigen.
tmsss
Das hat bei mir funktioniert. Windows hat die Git-Anmeldeinformationen gespeichert und beim Aktualisieren des Kennworts für Windows konnte mein offizielles Git-Konto nicht synchronisieren.
Krishna Oza
16

Nach meinen Erfahrungen müssen Sie nur die Remote-Adresse erneut eingeben .

Und git fragt usr / password nach dem neuen, anstatt zu schweigen und das veraltete zu verwenden.

Sehen Sie sich Ihre Fernbedienungen an und suchen Sie, welche Sie ändern möchten

>git remote  
github
gitcafe
company

Wenn Sie beispielsweise Ihr Firmen-Repo-Passwort geändert haben, haben Sie folgende Möglichkeiten:

>git remote remove company

Dies wird Ihren Ordner nicht berühren , wird Ihre Commits nicht berühren . Dies löscht einfach einen URL-String aus Git

Fügen Sie dann diese URL erneut hinzu:

>git remote add company https://git.AyCramba.com/xxx.git

Schieben Sie es:

>git push company master
username for 'https://git.AyCramba.com':
password for 'https://git.AyCramba.com':

Dann beginnt es zu schieben

Ich hoffe es hilft.

Chiron
quelle
1
Das, was git remote set-urlich in meiner Antwort erwähne , führt ein Entfernen + Hinzufügen durch.
VonC
3

Der Benutzername und das Kennwort werden möglicherweise im Windows Credential Manager gespeichert. Überprüfen und aktualisieren Sie dort gegebenenfalls.

(Ich weiß, dass das ein bisschen offensichtlich und einfach ist, aber einigen Leuten helfen könnte.)

squicc
quelle
2

Für mich läuft git unter Windows 7 mit git-bash:

git push origin master

Habe es geschafft. Das veranlasste Windows7, erneut nach meinen Git-Creds zu fragen und diese dann zu speichern (wo immer Windows dies tut), um das Kennwort zu aktualisieren.

Eric Manley
quelle
1

Ok, der ursprüngliche Beitrag ist ziemlich alt, aber es ist das Top-Ergebnis in Google und keine der Antworten hat für mich funktioniert. Einige andere SO- und GH-Posts funktionierten ebenfalls nicht. Poste dies, um allen zu helfen, die mir hier folgen!

Meine Situation ist etwas anders: Persönliches GH-Konto, das über SSH und die Git-Befehlszeile auf dem Mac auf ein privates Firmen-Repo übertragen wird. Mein Passwort ist nicht entweder in meiner gespeichert .gitconfignoch in irgendeine Schlüsselbund noch in gitcredential.helper .

Im folgenden Beispiel ist PersonalName mein GH-Konto, CompanyName ist die Firma (der Eigentümer des Repos auf GH) und RepoName ist das Repository.

Meine ursprüngliche Fehlermeldung war auch etwas anders: Der Versuch git push origin masterführte zu

remote: Repository not found.
fatal: repository 'https://github.com/CompanyName/RepoName.git/' not found

Die Fernbedienung funktionierte vor der Änderung meines GH-Kennworts, und ich wollte die Fernbedienung nicht entfernen, da ich lokale Änderungen hatte, die ich pushen musste.

Schließlich eine Antwort von sieben auf diese Frage im GitHub Community Forum mich in die richtige Richtung . Der Schlüssel war, meinen GH-Kontonamen mit dem entfernten (privaten) Repo zu verknüpfen.

Das hat bei mir funktioniert:

git remote set-url origin https://[email protected]/CompanyName/RepoName.git

Dann

git remote show origin

aufgefordert mit

Password for 'https://[email protected]': 

Ich konnte mein neues Passwort eingeben, die Remote-Details anzeigen und war git push origin mastererfolgreich.

Tafel
quelle
0

Wenn Sie Github 2FA Auth eingerichtet haben, benötigen Sie ein persönliches Zugriffstoken (anstelle Ihres Github-Passworts in git cli). Befolgen Sie diese Anweisungen, um es zu erstellen: https://help.github.com/en/github/authenticating-to -github / Erstellen eines persönlichen Zugriffstokens für die Befehlszeile

Dann mach so etwas

Git Checkout Master

git pull origin <--- An dieser Stelle werden Sie nach Ihren Anmeldeinformationen gefragt, geben Sie Ihren normalen github-Benutzer ein und fügen Sie als Kennwort das im obigen Link generierte Token ein.

Fernando Gonzalez Sanchez
quelle