Skip to main content

Verwalten mehrerer Konten

Wenn Sie eine einzelne Arbeitsstation verwenden, um an Projekten für mehrere Konten mitzuwirken, können Sie Ihre Git-Konfiguration ändern, um den Beitragsprozess zu vereinfachen.

Platform navigation

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. 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 (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 finden Sie 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 finden Sie 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 finden Sie 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 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.

  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.

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

  1. 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).

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

  3. Konfigurieren Sie Ihre SSH-Konfigurationsdatei ~/.ssh/config für die Verwendung der verschiedenen Schlüssel. Beispiel: Wenn Ihr persönlicher SSH-Schlüssel ~/.ssh/id_ed25519 lautet und Ihr Unternehmen mit verwalteten Benutzer*innen SSH-Schlüssel ~/.ssh/id_ed25519-emu lautet

    Text
    Host github.com
        IdentityFile ~/.ssh/id_ed25519
        IdentitiesOnly yes
    
    Host github-emu.com
        Hostname github.com
        IdentityFile ~/.ssh/id_ed25519-emu
        IdentitiesOnly yes
    

    Hinweis

    Die IdentitiesOnly Zeile stellt sicher, dass ssh-agent beim Herstellen einer Verbindung den richtigen Schlüssel verwendet, wenn der SSH-Agent mehrere Schlüssel geladen hat.

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

    Testen 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
    
  5. Fordern Sie git auf, 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.

    1. Führen Sie für jede aufgeführte Organisation git aus, damit der github-emu.com Host verwendet werden soll.

    Wenn eine Ihrer Organisationen beispielsweise octocat-emu genannt wird und Sie git anweisen möchten, den Host github-emu.com für Repositorys in der Organisation octocat-emu zu 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/"
    

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.