Melden Sie sich über die Befehlszeile mit mehreren Konten bei GitHub an

Lesezeit: 6 Minuten

Benutzer-Avatar
HerrE

Ich habe ein neues GitHub-Konto eröffnet, um meine geschäftlichen und privaten Repositories zu trennen.

Jetzt ich git init mein lokales Repository und git add remote origin <the repository HTTPS URL>

Ich versuche zu pushen, und es scheint immer die Anmeldeinformationen meines ursprünglichen Kontos zu übernehmen, ohne mich zur Eingabe der Anmeldeinformationen für das neue Konto aufzufordern.

Ich habe versucht, das URL-Format mit zu verwenden

https://<username>:<password>@github.com/<username>/<repository.git>

aber das scheint nicht zu helfen: Ich erhalte immer noch eine Fehlermeldung, dass die Anmeldeinformationen für den Benutzernamen des ursprünglichen Kontos ungültig sind.

Wie melde ich mich mit mehreren Sätzen von Anmeldeinformationen an oder wie würde ich irgendwie die ursprünglichen Anmeldeinformationen zurücksetzen, um beim Pushen eine Passwortabfrage zu erzwingen?


Die einzige Möglichkeit, wie ich es jetzt geschafft habe, zu pushen, ist die Angabe von username:[email protected]/ in der URL in der git push Befehl.

  • Als Alternative könnten Sie ssh-Schlüssel verwenden, um effektiv dieselbe Fernbedienung zu haben, aber für verschiedene Benutzer, z. B. (Server/Personal Server/biz würde dieselbe URL auflösen, aber unterschiedliche Konten verwenden); siehe Antwort hier

    – Daniel Keßler

    11. Januar 2016 um 22:24 Uhr

  • ja ich weiß ich kann das. Es ist einfach nicht so praktisch, besonders bei Submodulen usw., da andere möglicherweise nicht dasselbe Hostnamenformat verwenden. Submodule in einem Repo erfordern die URL des Submodul-Repos. Wenn ich es in ssh_config auf meinen Hostnamen setze, erhalten andere diese Informationen und können nicht ziehen, es sei denn, sie setzen ihre eigene ssh_config auf die gleiche Weise. Nur ein Schmerz.

    – HerrE

    11. Januar 2016 um 22:45 Uhr

Benutzer-Avatar
CodeWizard

git config --global credential.helper cache

… was Git anweist, Ihr Passwort (standardmäßig) 15 Minuten lang im Speicher zwischenzuspeichern. Du kannst einen längeren Timeout einstellen mit:

git config --global credential.helper "cache --timeout=3600"

Weitere nützliche Links:

https://confluence.atlassian.com/bitbucketserver/permanently-authenticating-with-git-repositories-776639846.html

Verwenden der .netrc-Datei Die .netrc-Datei ist ein Mechanismus, mit dem Sie angeben können, welche Anmeldeinformationen für welchen Server verwendet werden sollen.

Mit dieser Methode können Sie vermeiden, dass Sie jedes Mal einen Benutzernamen und ein Passwort eingeben, wenn Sie zu Git pushen oder von Git ziehen, aber Ihr Git-Passwort wird im Klartext gespeichert.


Sie können Ihre Anmeldeinformationen mit dem folgenden Befehl speichern

git config credential.helper store
git push http://example.com/repo.git
# Now type username and password and it should be saved by git.

  • Ich habe kommentiert, dass es für mich nicht bequem ist. Ich möchte herausfinden, wie man die Passwortabfrage zurücksetzt oder erzwingt.

    – HerrE

    11. Januar 2016 um 23:01 Uhr

  • Ok, Sie können die Anmeldeinformationen in git config speichern, wenn Sie das meinen.

    – CodeWizard

    11. Januar 2016 um 23:03 Uhr

  • habs auch probiert, bekomme aber immer wieder den fehler: remote: Permission to <newUsername>/repo.git denied to <originalUsername>. Ich werde nicht nach einem Passwort gefragt.

    – HerrE

    11. Januar 2016 um 23:12 Uhr


  • wenn ich es tue git config credential.helper store es kehrt einfach zurück. Bin mir nicht sicher ob das normal ist. Ich werde nie nach dem Passwort für dieses Konto gefragt.

    – HerrE

    11. Januar 2016 um 23:17 Uhr

  • nie eine Passwortabfrage erhalten. Ich habe es versucht git config --global credential.helper "cache --timeout=10" Aber selbst nach den 10 Sekunden werde ich nicht aufgefordert, sondern erhalte nur eine 403

    – HerrE

    11. Januar 2016 um 23:19 Uhr


Benutzer-Avatar
HerrE

Der einzige Weg, wie ich pushen konnte, war die Angabe von username:[email protected]/ in der URL im Git-Push-Befehl.

  • Was passiert, wenn mein Passwort zufällig ein @-Symbol enthält?

    – AdityaB

    18. Februar 2020 um 20:51 Uhr

Benutzer-Avatar
hiandbaii

Sie können die Git-Konfiguration innerhalb des von Ihnen verwendeten Repositorys verwenden. Im ${local_repo_folder}/.git/config, fügen Sie dort Ihre Benutzerdaten hinzu. Auf diese Weise können Sie konfigurieren, welcher Benutzer auf Repository-Ebene verwendet werden soll.

  • Ich habe versucht hinzuzufügen user.username und user.password zur git config: erstens hat es nicht geholfen, und zweitens möchte ich diese info nicht in einer leicht lesbaren datei haben. Aber wenn Sie einen Weg kennen, der funktioniert, würde ich ihn gerne ausprobieren.

    – HerrE

    11. Januar 2016 um 22:43 Uhr


  • Es wäre hilfreich, wenn Sie eine Beispielkonfiguration zeigen würden.

    – bvdb

    20. November 2019 um 11:07 Uhr

  • Mach das nicht.

    – WebWanderer

    28. Mai 2021 um 4:30 Uhr

  • Beachten Sie, dass Ihr Passwort als Klartext gespeichert wird.

    – Krishnakanth Alagiri

    3. Juni 2021 um 16:09 Uhr

Benutzer-Avatar
Megha Sahu

Verwenden Sie diesen Befehl, um sich mit einem anderen Konto auf GitHub erneut anzumelden:

git remote set-url origin "remote repository URL"

Aus den Dokumenten:

Wenn Sie –global weglassen oder –local verwenden, wird die Konfiguration nur auf das aktuelle Repository angewendet.

Fügen Sie in Ihrer Shell Ihren Benutzernamen hinzu:

git config user.name "your_username"

Und Ihre E-Mail-Adresse:

git config user.email "[email protected]"

Um die Konfiguration zu überprüfen, führen Sie Folgendes aus:

git config --list

Führen Sie zum Vergleichen mit Ihrer globalen Konfiguration Folgendes aus:

git config --global --list

https://docs.gitlab.com/ee/gitlab-basics/start-using-git.html

Benutzer-Avatar
furt furt

Verwenden von SSH-Anmeldeinformationen unter Unix oder Mac

  1. Konfigurieren Sie Git in Ihrem Arbeitsbereich
  2. SSH-Anmeldeinformationen erstellen/überprüfen
  3. Aktualisieren Sie die Online-Github-Einstellungen

Schritt 1. Konfigurieren Sie Git in Ihrem Workspace

  1. Fügen Sie in Ihrer Shell Ihren Benutzernamen hinzu: git config --global user.name "your_username"

  2. Fügen Sie Ihre E-Mail-Adresse hinzu: git config --global user.email "[email protected]"

  3. Um die Konfiguration zu überprüfen, führen Sie Folgendes aus: git config --global --list

Schritt 2: Erstellen Sie SSH-Anmeldeinformationen

  1. Öffnen Sie Bash oder Terminal.

  2. cd ~/.ssh

  3. ls

  4. Es sollten diese beiden Dateien vorhanden sein: id_rsa und id_rsa.pub. Dies sind Anmeldedaten.

  5. Wenn die E-Mail-Adresse in id_rsa.pub nicht mit der E-Mail-Adresse übereinstimmt, die Sie verwenden möchten, erstellen Sie neue Anmeldeinformationen. Um die Dinge einfach zu halten, verwenden Sie „id_rsa“ für die Datei, in der der Schlüssel gespeichert werden soll, und erstellen Sie eine Passphrase zum Speichern für später
    ssh-keygen -t rsa -C "[email protected]"

  6. Speichern Sie Ihre Passphrase an einem sicheren Ort, um sie beim Drücken zu verwenden, oder Sie müssen dies erneut tun.

Schritt 3: Aktualisieren Sie die Online-Github-Einstellungen

  1. vim ~/.ssh/id_rsa.pub

  2. Kopieren Sie den Inhalt von id_rsa.pub und fügen Sie ihn in GitHub ein Webseite unter Kontoeinstellungen > SSH- und GPG-Schlüssel. Kopieren Sie alles genau so, wie es angezeigt wird, ohne zusätzliche Leerzeichen oder Linien. Geben Sie diesen Anmeldeinformationen einen Namen, um Sie daran zu erinnern, von welchem ​​Computer sie stammen.

  3. Versuchen git push wieder

Fehlerbehebung

Wenn Sie eine Warnung erhalten, dass die Berechtigungen zu offen sind Permissions 0644 dann versuche diese:

  • Legen Sie die Berechtigungen für Ihren privaten Schlüssel fest: chmod 400 ~/.ssh/id_rsa
  • Vergewissere dich ~/.ssh/config zeigt auf den richtigen privaten Schlüssel

Verweise

Benutzer-Avatar
consiglieri

Da die Authentifizierung mit Benutzername und Passwort von Github seit August 2021 eingestellt wurde, können wir uns nur über SSH-Schlüssel oder Personal Access Token authentifizieren. Ich habe die Option Personal Access Token ausprobiert. Aber während der Benutzung git push Befehl, gab es keine Eingabeaufforderung für die PAT. Folgendes hat bei mir funktioniert (Windows 10).

Geben Sie in Ihrer cmd/Git Bash/Power Shell ein

git config user.name "your_username"
git config user.email "your_email"

Gehen Sie danach zu Credential Manager und aktualisieren Sie die Anmeldeinformationen für Github mit dem neuen Benutzernamen und Passwort.
Demo-Bild

Nun, wenn Sie das versuchen git push Befehl, werden Sie aufgefordert, Ihre PAT zur Authentifizierung einzugeben. Sie können Ihr PAT generieren, indem Sie zu your [Github profile]->Einstellungen->Entwicklereinstellungen.

1144720cookie-checkMelden Sie sich über die Befehlszeile mit mehreren Konten bei GitHub an

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy