Skip to main content

Verwalten mehrerer Konten

Wenn du eine einzelne Arbeitsstation verwendest, um an Projekten für mehrere Konten auf GitHub.com mitzuwirken, kannst du deine Git-Konfiguration ändern, um den Beitragsprozess zu vereinfachen.

Platform navigation

Informationen zur Verwaltung mehrerer Konten

In einigen Fällen musst du möglicherweise mehrere Konten auf GitHub.com 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.

Du kannst dein verwaltetes Benutzerkonto nicht verwenden, um an öffentlichen Projekten auf GitHub.com mitzuwirken, daher musst du Beiträge zu diesen Ressourcen über dein persönliches Konto vornehmen. Weitere Informationen findest du unter Informationen zu Enterprise Managed Users in der GitHub Enterprise Cloud-Dokumentation.

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.com 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.

Du findest sowohl die HTTPS- als auch die SSH-URL zum Klonen eines Repositorys auf GitHub. 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.

  1. Öffne das Terminal.

  2. Um die Verwendung einer Anmeldeinformationsverwaltung zu bestätigen, gib den folgenden Befehl ein, und beachte die Ausgabe.

    Shell
    git config --get credential.helper
    
  3. 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. Gib den folgenden Befehl ein, um die Anmeldeinformationen zu löschen.

      Shell
      git credential-osxkeychain erase https://github.com
      
    • Wenn die Ausgabe manager lautet (oder manager-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
      
  1. 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
    
  2. 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.

  3. 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.

  1. Öffne Git Bash.

  2. Um die Verwendung einer Anmeldeinformationsverwaltung zu bestätigen, gib den folgenden Befehl ein, und beachte die Ausgabe.

    Shell
    git config --get credential.helper
    
  3. 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 (oder manager-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
    
    • 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
      
  1. 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
    
  2. 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.

  3. 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.

  1. Öffne das Terminal.

  2. Um die Verwendung einer Anmeldeinformationsverwaltung zu bestätigen, gib den folgenden Befehl ein, und beachte die Ausgabe.

    Shell
    git config --get credential.helper
    
  3. 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 (oder manager-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
    
  1. 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
    
  2. 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.

  3. 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.

  1. Lege den vollständigen Namen des Repositorys mit Besitzer fest, indem du einen Befehl wie z. B. git config --get remote.origin.url verwendest.
  2. Wähle den richtigen SSH-Schlüssel für die Authentifizierung aus.
  3. Ändere GIT_SSH_COMMAND entsprechend. Weitere Informationen zu GIT_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