Beitragen zu mehreren Konten über HTTPS und personal access token
Wenn du das HTTPS-Protokoll für beide Konten verwenden möchtest, kannst du für jedes Konto unterschiedliche personal access token verwenden, indem du Git für das Speichern verschiedener Anmeldeinformationen für jedes Repository konfigurierst.
-
Öffne das Terminal.
-
Um die Verwendung einer Anmeldeinformationsverwaltung zu bestätigen, gib den folgenden Befehl ein, und beachte die Ausgabe.
Shell git config --get credential.helper
git config --get credential.helper -
Wenn die Ausgabe bestätigt, dass du einen Anmeldeinformations-Manager verwendest, deaktiviere die gespeicherten Anmeldeinformationen für den Anmeldeinformations-Manager.
- Wenn die Ausgabe nicht den Namen eines Anmeldeinformations-Managers enthält, ist kein Anmeldeinformations-Manager konfiguriert, und du kannst mit dem nächsten Schritt fortfahren.
-
Wenn die Ausgabe
osxkeychainlautet, verwendest du den macOS-Schlüsselbund. Zum Löschen der Anmeldeinformationen kannst du das Anmeldeinformationenhilfsprogramm in der Befehlszeile verwenden:$ git credential-osxkeychain erase host=github.com protocol=https > [Press Return] > -
Wenn die Ausgabe
managerlautet (odermanager-corein früheren Versionen), verwenden Sie den Git Anmeldeinformationsverwaltung. Um die Anmeldeinformationen zu löschen, führe den folgenden Befehl aus.Shell echo "protocol=https\nhost=github.com" | git credential-manager erase
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
-
Gib den folgenden Befehl ein, um Git zum Zwischenspeichern von Anmeldeinformationen für die vollständige Remote-URL jedes Repositorys zu konfigurieren, auf das du auf GitHub zugreifst.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true -
Erstelle für jedes deiner Konten ein dediziertes personal access token (classic) mit
repo-Bereich. Erstelle alternativ für jedes deiner Konten und für jede Organisation, deren Mitglied du bist, ein fine-grained personal access token, das auf die gewünschten Repositorys zugreifen kann und Lese- und Schreibberechtigungen für Repositoryinhalte hat. Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken. -
Wenn du Git zum ersten Mal zum Klonen eines Repositorys oder zum Zugreifen auf Daten in einem bereits geklonten Repository verwendest, fordert Git dich zur Eingabe von Anmeldeinformationen auf. Gib ein personal access token für das Konto mit Zugriff auf das Repository an.
Git speichert dein personal access token basierend auf der vollständigen Remote-URL des Repositorys zwischen, und du kannst mit dem richtigen Konto auf GitHub.com zugreifen und dort Repositorydaten schreiben.
-
Öffne Git Bash.
-
Um die Verwendung einer Anmeldeinformationsverwaltung zu bestätigen, gib den folgenden Befehl ein, und beachte die Ausgabe.
Shell git config --get credential.helper
git config --get credential.helper -
Wenn die Ausgabe bestätigt, dass du einen Anmeldeinformations-Manager verwendest, deaktiviere die gespeicherten Anmeldeinformationen für den Anmeldeinformations-Manager.
-
Wenn die Ausgabe nicht den Namen eines Anmeldeinformations-Managers enthält, ist kein Anmeldeinformations-Manager konfiguriert, und du kannst mit dem nächsten Schritt fortfahren.
-
Wenn die Ausgabe
managerlautet (odermanager-corein früheren Versionen), verwenden Sie den Git Anmeldeinformationsverwaltung. Um die Anmeldeinformationen zu löschen, führe den folgenden Befehl aus.Shell echo "protocol=https`nhost=github.com" | git credential-manager erase
echo "protocol=https`nhost=github.com" | git credential-manager erase-
Wenn die Ausgabe
wincredlautet, verwendest du die Windows-Anmeldeinformationsverwaltung. Gib den folgenden Befehl ein, um die Anmeldeinformationen zu löschen.Shell cmdkey /delete:LegacyGeneric:target=git:https://github.com
cmdkey /delete:LegacyGeneric:target=git:https://github.com
-
-
Gib den folgenden Befehl ein, um Git zum Zwischenspeichern von Anmeldeinformationen für die vollständige Remote-URL jedes Repositorys zu konfigurieren, auf das du auf GitHub zugreifst.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true -
Erstelle für jedes deiner Konten ein dediziertes personal access token (classic) mit
repo-Bereich. Erstelle alternativ für jedes deiner Konten und für jede Organisation, deren Mitglied du bist, ein fine-grained personal access token, das auf die gewünschten Repositorys zugreifen kann und Lese- und Schreibberechtigungen für Repositoryinhalte hat. Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken. -
Wenn du Git zum ersten Mal zum Klonen eines Repositorys oder zum Zugreifen auf Daten in einem bereits geklonten Repository verwendest, fordert Git dich zur Eingabe von Anmeldeinformationen auf. Gib ein personal access token für das Konto mit Zugriff auf das Repository an.
Git speichert dein personal access token basierend auf der vollständigen Remote-URL des Repositorys zwischen, und du kannst mit dem richtigen Konto auf GitHub.com zugreifen und dort Repositorydaten schreiben.
-
Öffne das Terminal.
-
Um die Verwendung einer Anmeldeinformationsverwaltung zu bestätigen, gib den folgenden Befehl ein, und beachte die Ausgabe.
Shell git config --get credential.helper
git config --get credential.helper -
Wenn die Ausgabe bestätigt, dass du einen Anmeldeinformations-Manager verwendest, deaktiviere die gespeicherten Anmeldeinformationen für den Anmeldeinformations-Manager.
-
Wenn die Ausgabe nicht den Namen eines Anmeldeinformations-Managers enthält, ist kein Anmeldeinformations-Manager konfiguriert, und du kannst mit dem nächsten Schritt fortfahren.
-
Wenn die Ausgabe
managerlautet (odermanager-corein früheren Versionen), verwenden Sie den Git Anmeldeinformationsverwaltung. Um die Anmeldeinformationen zu löschen, führe den folgenden Befehl aus.Shell echo "protocol=https\nhost=github.com" | git credential-manager erase
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
Gib den folgenden Befehl ein, um Git zum Zwischenspeichern von Anmeldeinformationen für die vollständige Remote-URL jedes Repositorys zu konfigurieren, auf das du auf GitHub zugreifst.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true -
Erstelle für jedes deiner Konten ein dediziertes personal access token (classic) mit
repo-Bereich. Erstelle alternativ für jedes deiner Konten und für jede Organisation, deren Mitglied du bist, ein fine-grained personal access token, das auf die gewünschten Repositorys zugreifen kann und Lese- und Schreibberechtigungen für Repositoryinhalte hat. Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken. -
Wenn du Git zum ersten Mal zum Klonen eines Repositorys oder zum Zugreifen auf Daten in einem bereits geklonten Repository verwendest, fordert Git dich zur Eingabe von Anmeldeinformationen auf. Gib ein personal access token für das Konto mit Zugriff auf das Repository an.
Git speichert dein personal access token basierend auf der vollständigen Remote-URL des Repositorys zwischen, und du kannst mit dem richtigen Konto auf GitHub.com zugreifen und dort Repositorydaten schreiben.
Beitragen zu mehreren Konten über SSH und GIT_SSH_COMMAND
Wenn du das SSH-Protokoll für beide Konten verwenden möchtest, kannst du verschiedene SSH-Schlüssel für jedes Konto verwenden. Weitere Informationen zum Verwenden von SSH findest du unter Herstellen einer Verbindung mit GitHub mit SSH.
Um unterschiedliche SSH-Schlüssel für verschiedene Repositorys zu verwenden, die du auf deine Arbeitsstation klonst, musst du eine Shell-Wrapper-Funktion für Git-Vorgänge schreiben. Die Funktion sollte die folgenden Schritte ausführen.
- Lege den vollständigen Namen des Repositorys mit Besitzer fest, indem du einen Befehl wie z. B.
git config --get remote.origin.urlverwendest. - Wähle den richtigen SSH-Schlüssel für die Authentifizierung aus.
- Ändere
GIT_SSH_COMMANDentsprechend. Weitere Informationen zuGIT_SSH_COMMANDfindest du unter Umgebungsvariablen in der Git-Dokumentation.
Der folgende Befehl legt beispielsweise die GIT_SSH_COMMAND-Umgebungsvariable fest, um einen SSH-Befehl anzugeben, der die private Schlüsseldatei unter PATH/TO/KEY/FILE für die Authentifizierung zum Klonen des Repositorys namens OWNER/REPOSITORY auf GitHub.com verwendet.
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
Beitragen zu mehreren Konten mithilfe von SSH und mehreren Schlüsseln
Wenn Sie Mitglied eines Unternehmen mit verwalteten Benutzer*innensind, aber auch außerhalb Ihres Unternehmens mit einem persönlichen Konto zusammenarbeiten möchten, können Sie für jedes Konto unterschiedliche SSH-Schlüssel verwenden. Weitere Informationen zum Verwenden von SSH findest du unter Herstellen einer Verbindung mit GitHub mit SSH.
Warnung
Sie können nicht denselben SSH-Schlüssel verwenden, um zu beiden Repositorys innerhalb Ihrer Organisation mit verwalteten Benutzer*innen und außerhalb des Unternehmens beizutragen.
-
Generieren Sie einen anderen SSH-Schlüssel für die Repositorys in Ihrem Organisation mit verwalteten Benutzer*innen. Weitere Informationen findest du unter Generieren eines neuen SSH-Schlüssels und Hinzufügen des Schlüssels zum ssh-agent. Geben Sie beim Speichern des Schlüssels einen anderen Dateinamen als den vorhandenen Schlüssel an (fügen Sie z. B. -emu zum vorgeschlagenen Namen der Datei hinzu).
-
Fügen Sie den neuen SSH-Schlüssel Ihrem verwaltetes Benutzerkonto hinzu. Weitere Informationen findest du unter Hinzufügen eines neuen SSH-Schlüssels zu Ihrem GitHub Konto.
-
Konfigurieren Sie Ihre SSH-Konfigurationsdatei
~/.ssh/configfür die Verwendung der verschiedenen Schlüssel. Beispiel: Wenn Ihr persönlicher SSH-Schlüssel~/.ssh/id_ed25519lautet und Ihr Unternehmen mit verwalteten Benutzer*innen SSH-Schlüssel~/.ssh/id_ed25519-emulautetText Host github.com IdentityFile ~/.ssh/id_ed25519 IdentitiesOnly yes Host github-emu.com Hostname github.com IdentityFile ~/.ssh/id_ed25519-emu IdentitiesOnly yesHost github.com IdentityFile ~/.ssh/id_ed25519 IdentitiesOnly yes Host github-emu.com Hostname github.com IdentityFile ~/.ssh/id_ed25519-emu IdentitiesOnly yesHinweis
Die
IdentitiesOnlyZeile stellt sicher, dass ssh-agent beim Herstellen einer Verbindung den richtigen Schlüssel verwendet, wenn der SSH-Agent mehrere Schlüssel geladen hat. -
Testen Sie Ihre SSH-Konfiguration, indem Sie den folgenden Befehl ausführen, um eine Verbindung mit dem SSH-Schlüssel herzustellen, der Ihrem persönlichen Konto zugeordnet ist . Weitere Details finden Sie unter SSH-Verbindung testen
Shell ssh -T git@github.com
ssh -T git@github.comTesten Sie, ob Sie eine Verbindung mit (GitHub) herstellen können, indem Sie Ihren Unternehmen mit verwalteten Benutzer*innen SSH-Schlüssel verwenden.
Shell ssh -T git@github-emu.com
ssh -T git@github-emu.com -
Fordern Sie
gitauf, beim Herunter- oder Hochladen von Repository in einem Organisation mit verwalteten Benutzerinnen den korrekten Schlüssel zu verwenden. Um die Organisationen in Ihrem Unternehmen mit verwalteten Benutzerinnen aufzulisten, 1. Klicke in der rechten oberen Ecke von GitHub auf dein Profilbild und dann auf Your organizations.- Führen Sie für jede aufgeführte Organisation
gitaus, damit dergithub-emu.comHost verwendet werden soll.
Wenn eine Ihrer Organisationen beispielsweise
octocat-emugenannt wird und Siegitanweisen möchten, den Hostgithub-emu.comfür Repositorys in der Organisationoctocat-emuzu nutzen, führen Sie den folgenden Befehl aus.Shell git config --global url."git@github-emu.com:octocat-emu/".insteadOf "git@github.com:octocat-emu/"
git config --global url."git@github-emu.com:octocat-emu/".insteadOf "git@github.com:octocat-emu/" - Führen Sie für jede aufgeführte Organisation
Wenn Sie nun ein Repository mit SSH klonen, verwendet die octocat-emu-Organisation den SSH-Schlüssel, der mit Ihrem Unternehmen mit verwalteten Benutzer*innen verknüpft ist, anstelle Ihres persönlichen Schlüssels.
Nächste Schritte
Referenzinformationen findest du unter Referenz zum persönlichen Konto.