Wie ändere ich meinen Git-Benutzernamen im Terminal?


177

Ich habe im Terminal von git gedrückt und dann meinen Benutzernamen auf github.com geändert. Ich habe einige Änderungen gepusht und es konnte nicht gepusht werden, da mein alter Benutzername immer noch erkannt wurde. Wie ändere / aktualisiere ich meinen Benutzernamen auf git im Terminal?

Antworten:


127

Sie müssen wahrscheinlich die Remote-URL aktualisieren, da github Ihren Benutzernamen darin einfügt. Sie können die ursprüngliche URL durch Eingabe anzeigen

git config --get remote.origin.url

Oder gehen Sie einfach auf die Repository-Seite von Github und rufen Sie die neue URL ab. Dann benutze

git remote set-url origin https://{new url with username replaced}

um die URL mit Ihrem neuen Benutzernamen zu aktualisieren.


Ok, ich habe die ursprüngliche URL überprüft und sie hat den alten Benutzernamen verwendet. Ich habe die URL aktualisiert, um den neuen Benutzernamen und das neue Repository wiederzugeben, in dem ich mich befinde. Dann werde ich nach meinem Benutzernamen und meinem Passwort gefragt. Ich habe meine Anmeldeinformationen eingegeben und es heißt fatal: Authentifizierung fehlgeschlagen remote: ungültiger Benutzername und Passwort. Ich habe auf github.com nachgesehen und mit meinem Konto unterschrieben, damit ich weiß, dass diese Anmeldeinformationen korrekt sind ... Irgendwelche Gedanken?
user3370902

@ user3370902 Ich würde sicherstellen, dass Sie zuerst den richtigen Benutzernamen und das richtige Passwort verwenden. Überprüfen Sie dann auch auf der Github-Repository-Seite, ob die URL korrekt ist. Wenn Sie weiterhin Probleme haben, können Sie sich an den Github-Support wenden, da dieser genau sehen kann, was los ist.
Steven V

2
Der Benutzername und das Passwort funktionieren, wenn ich mich bei github.com anmelde - funktioniert nur nicht im Terminal. Gibt es eine Möglichkeit, das Terminal zu schließen, git abzumelden / zu schließen und dann git im Terminal neu zu starten?
user3370902

@ user3370902 git wird nur ausgeführt, wenn Sie den gitBefehl tatsächlich an der Eingabeaufforderung ausführen . Es gibt keinen Git-Service, den Sie neu starten müssen. Verwenden Sie die Zwei-Faktor-Authentifizierung oder andere seltsame Dinge?
Steven V

1
@ user3370902 help.github.com/articles/providing-your-2fa-security-code unten unter "Über die Befehlszeile". Sie müssen ein persönliches Zugriffstoken erstellen.
Steven V

187
  1. Navigieren Sie in Ihrem Terminal zu dem Repo, in dem Sie die Änderungen vornehmen möchten.
  2. Ausführen git config --list , um den aktuellen Benutzernamen und die E-Mail-Adresse in Ihrem lokalen Repo zu überprüfen.
  3. Ändern Sie den Benutzernamen und die E-Mail-Adresse wie gewünscht. Machen Sie es zu einer globalen Änderung oder spezifisch für das lokale Repo:
    git config [--global] user.name "Full Name"
    git config [--global] user.email "email@address.com"

    Pro Repo-Basis können Sie auch bearbeiten.git/config stattdessen manuell .
  4. Getan!

Wenn Sie Schritt 2 ausführen , wenn Sie sehencredential.helper=manager , benötigen Sie den Credential Manager Ihres Computers (Win oder Mac) zu öffnen und die Anmeldeinformationen aktualisieren dort

So sieht es unter Windows aus Geben Sie hier die Bildbeschreibung ein

Fehlerbehebung? Mehr erfahren


19
Ich möchte Personen, die dies in Zukunft sehen, darauf hinweisen, dass --localSie bei Verwendung unterschiedliche Anmeldeinformationen in bestimmten Repositorys auf demselben Computer verwenden können. (zB möchten Sie sich von Ihrem Arbeits-Laptop aus auf Ihr persönliches Repo
festlegen

1
Wie von @DalyaG erwähnt, sollte auch Folgendes enthalten sein:git config credential.username "xxx"
Fernando Wittmann

Upvoting wegen ".git / config manuell bearbeiten". In meinem Fall war es die beste Option, die remote.origin.url zu ändern
Carlos Ost

89
  1. BEARBEITEN: Zusätzlich zur Änderung Ihres Namens und Ihrer E-Mail-Adresse müssen Sie möglicherweise auch Ihre Anmeldeinformationen ändern:

    • Um lokal nur für ein Repository zu ändern, geben Sie im Terminal das Terminal ein

      git config credential.username "new_username"

    • Um global zu ändern, verwenden Sie

      git config credential.username --global "new_username"

    ( BEARBEITEN ERKLÄRT : Wenn Sie auch das user.emailund nicht ändern user.name, können Sie Ihre Änderungen verschieben, sie werden jedoch unter dem vorherigen Benutzer in git registriert.)

  2. Beim nächsten Mal werden Sie pushaufgefordert, Ihr Passwort einzugeben

    Password for 'https://<new_username>@github.com':


1
Perfekte Antwort! Du hast meinen Tag gerettet, Danke :)
Sasi

8
Danke dir! Dies sollte in der Top-Antwort sein :) Folgendes wurde für mich gelöst: ` git config user.name "xxx"-> git config user.email "xxx"-> git config credential.username "xxx"
Fernando Wittmann

8
Global sollte nach kommenconfig git config --global credential.username "new_username"
Caleb Rotich

Das ist absolut die Antwort!
Ehsan

77

Methode 1

globallyFühren Sie die folgenden Befehle aus, um die Standardidentität Ihres Kontos festzulegen

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git config --global user.password "your password"

Um die Identität nur im aktuellen Repository festzulegen, entfernen Sie --globaldie folgenden Befehle und führen Sie sie in Ihrem Project / Repo-Stammverzeichnis aus

git config user.email "you@example.com"
git config user.name "Your Name"
git config user.password "your password"

Beispiel:

email -> organization email Id
name  -> mostly <employee Id> or <FirstName, LastName> 

** Hinweis: ** Sie können diese Werte in Ihrem GitHub-Profil oder Bitbucket-Profil überprüfen

Methode-2

Erstellen Sie eine .gitconfig-Datei in Ihrem Home-Ordner, falls diese nicht vorhanden ist. und fügen Sie die folgenden Zeilen in .gitconfig ein

[user]
    name = FirstName, LastName
    email = FirstName.LastName@company.com
[http]
    sslVerify = false
    proxy = 
[https]
    sslverify = false
    proxy = https://corp\\<uname>:<password>@<proxyhost>:<proxy-port>
[push]
    default = simple
[credential]
    helper = cache --timeout=360000000
[core]
    autocrlf = false

Ausgangsverzeichnis zum Erstellen der Gitconfig-Datei:

Windows: c / users / <Benutzername oder empID>

Mac oder Linux: Führen Sie diesen Befehl aus, um zum Ausgangsverzeichnis zu gelangencd ~

oder führen Sie einfach die folgenden Befehle nacheinander aus

git config --global --edit
git commit --amend --reset-author

Methode 3 (Popup für Git-Anmeldeinformationen)

Fenster:

Systemsteuerung >> Benutzerkonto >> Anmeldeinformations-Manager >> Windows-Anmeldeinformationen >> Allgemeine Anmeldeinformationen

Suchen Sie nach einem Github-Zertifikat / Berechtigungsnachweis und löschen Sie ihn.

Mac :

Befehl + Leerzeichen >> Suche nach "Schlüsselbundzugriff" und klicke auf OK >> Suche nach einem Zertifikat / einer Datei mit gitHub >> lösche es.

Wenn Sie dann einen beliebigen git-Befehl ausführen, werden Sie aufgefordert, einen neuen Benutzernamen und ein neues Kennwort einzugeben.


20

Bitte aktualisieren Sie die URL des neuen Benutzer-Repositorys

 git remote set-url origin https://username@bitbucket.org/repository.git

Ich habe versucht, die folgenden Befehle zu verwenden, es funktioniert nicht:

git config user.email "email@example.com"
git config user.name  "user"

ODER

git config --global user.email "email@example.com"
git config --global user.name "user"

11

Von Ihrem Terminal aus tun Sie Folgendes:

git config credential.username "prefered username"

ODER

git config --global user.name "Firstname Lastname"

10

Es gibt eine einfache Lösung für dieses Problem. Die Lösung wird durch das Zertifikat Ihres Schlüsselbunds entfernt. Das vorherige führt dazu, dass der Benutzer und das Kennwort erneut abgefragt werden.

Schritte:

  1. Öffnen Sie den Schlüsselbundzugriff

Geben Sie hier die Bildbeschreibung ein

  1. Suchen Sie das Zertifikat gitHub.com.

  2. Entfernen Sie das gitHub.com-Zertifikat.

  3. Führen Sie alle Operationen mit git in Ihrem Terminal aus. Fragen Sie erneut nach Ihrem Benutzernamen und Passwort.

Für Windows-Benutzer finden Sie die Schlüsselkette wie folgt:

Systemsteuerung >> Benutzerkonto >> Anmeldeinformations-Manager >> Windows-Anmeldeinformationen >> Allgemeine Anmeldeinformationen


1
Danke dir. Dieser löste das Problem. Ich konnte nicht finden, woher es kam.
Razi Kallayi

8

Ich empfehle Ihnen, dies zu tun, indem Sie einfach in Ihren .git- Ordner gehen und dann die Konfigurationsdatei öffnen . Fügen Sie in die Datei Ihre Benutzerinformationen ein:

[user]
    name = Your-Name
    email = Your-email

Das sollte es sein.


2
Ich wähle diese Methode lieber als andere. Einfach aber vollbringen.
Yohanes AI

2

Zuerst müssen Sie die Anmeldeinformationen von Ihrem lokalen Computer ändern

  1. Entfernen Sie generisches Crodential, falls vorhanden

Generische Crodentials

  1. Konfigurieren Sie einen neuen Benutzer und eine neue E-Mail-Adresse (Sie können sie global erstellen, wenn Sie möchten).
git config [--global] user.name "Your Name"
git config [--global] user.email "email@address.com"
  1. Laden Sie jetzt Ihr Repo hoch oder aktualisieren Sie es. Sie werden nach Ihrem Benutzernamen und Passwort gefragt, um Zugriff auf github zu erhalten

0

Wenn Sie ein neues Github-Konto erstellt haben und Commits mit Ihrem neuen Konto anstelle Ihres vorherigen Kontos übertragen möchten, muss die .gitconfig aktualisiert werden. Andernfalls werden Sie mit dem bereits im Besitz befindlichen Github-Konto auf das neue Konto übertragen.

Um dies zu beheben, müssen Sie zu Ihrem Home-Verzeichnis navigieren und die .gitconfig mit einem Editor öffnen. Der Editor kann vim, notepad ++ oder sogar notepad sein.

Sobald Sie die .gitconfig geöffnet haben, ändern Sie einfach den "Namen" mit Ihrem neuen Github-Konto-Benutzernamen, mit dem Sie pushen möchten.


0

Normalerweise befindet sich der Benutzername unter git config

git config --global user.name "first last"

Wenn Sie oben immer noch sehen, dass dies nicht funktioniert, können Sie .gitconfig in Ihrem Benutzerverzeichnis von mac bearbeiten und aktualisieren

[user]
        name = gitusername
        email = xyz@xyz.com
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.