Informationen zur Verwaltung mehrerer Konten
In einigen Fällen müssen Sie möglicherweise mehrere Konten auf GitHub verwenden. Du kannst beispielsweise über ein persönliches Konto für Open-Source-Beiträge verfügen, und zudem kann dein Arbeitgeber ein Benutzerkonto innerhalb eines Unternehmens für dich erstellen und verwalten.
Sie können Ihr verwaltetes Benutzerkonto nicht verwenden, um an öffentlichen Projekten auf GitHub.com mitzuwirken, daher müssen Sie Beiträge zu diesen Ressourcen über Ihr persönliches Konto vornehmen. Weitere Informationen findest du unter Informationen zu Enterprise Managed Users in der GitHub Enterprise Cloud-Dokumentation.
Wenn Sie mehrere Konten verwenden müssen, können Sie bei Ihren Konten angemeldet bleiben und zwischen diesen wechseln. Zum Beispiel können Sie zwischen einem persönlichen Konto und einem Dienstkonto wechseln. Weitere Informationen findest du unter Wechseln zwischen Konten.
Wenn du eine einzige Arbeitsstation verwenden möchtest, um über beide Konten mitzuwirken, kannst du deine Beiträge mit Git vereinfachen, indem du eine Mischung von Protokollen für den Zugriff auf Repositorydaten nutzt oder Anmeldeinformationen auf Repositorybasis verwendest.
Warnung: Sei vorsichtig, wenn du eine Arbeitsstation für Beiträge über zwei separate Konten verwendest. Die Verwaltung von zwei oder mehr Konten kann das Risiko erhöhen, dass interner Code versehentlich an die Öffentlichkeit gelangt.
Wenn du kein verwaltetes Benutzerkonto verwenden musst, empfiehlt GitHub die Verwendung eines persönlichen Kontos für deine gesamte Arbeit auf GitHub.com. Mit einem einzigen persönlichen Konto kannst du Beiträge zu einer Kombination aus persönlichen, Open-Source- oder professionellen Projekten mithilfe einer einzigen Identität verfassen. Andere Personen können das Konto einladen, sowohl zu Einzelrepositorys als auch zu organisationseigenen Repositorys beizutragen, und das Konto kann Mitglied mehrerer Organisationen oder Unternehmen sein.
Beitragen zu zwei Konten über HTTPS und SSH
Wenn du Beiträge mit zwei Konten auf einer einzigen Arbeitsstation verfasst, kannst du auf Repositorys zugreifen, indem du für jedes Konto ein anderes Protokoll und andere Anmeldeinformationen verwendest.
Git kann entweder das HTTPS- oder das SSH-Protokoll verwenden, um auf Daten in Repositorys auf GitHub zuzugreifen und diese zu aktualisieren. Das zum Klonen eines Repositorys eingesetzte Protokoll legt fest, welche Anmeldeinformationen deine Arbeitsstation zum Authentifizieren verwendet, wenn du auf das Repository zugreifst. Bei diesem Ansatz der Kontoverwaltung speicherst du die Anmeldeinformationen für ein Konto, das für HTTPS-Verbindungen verwendet werden soll, und lädst einen SSH-Schlüssel in das andere Konto hoch, das für SSH-Verbindungen verwendet werden soll.
Sie finden sowohl das HTTPS als auch einige SSH-URLs zum Klonen eines Repositorys auf der Seite des Repositorys. Weitere Informationen findest du unter Ein Repository klonen.
Weitere Informationen zur Verwendung von SSH für den Zugriff auf Repositorys in GitHub findest du unter Herstellen einer Verbindung mit GitHub per SSH.
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
osxkeychain
lautet, 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
manager
lautet (odermanager-core
in 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 findest du 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
manager
lautet (odermanager-core
in 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
wincred
lautet, 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 findest du 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
manager
lautet (odermanager-core
in 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 findest du 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 zur Verwendung von SSH findest du unter Herstellen einer Verbindung mit GitHub per 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.url
verwendest. - Wähle den richtigen SSH-Schlüssel für die Authentifizierung aus.
- Ändere
GIT_SSH_COMMAND
entsprechend. Weitere Informationen zuGIT_SSH_COMMAND
findest 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