Skip to main content

Managing multiple accounts

If you use one workstation to contribute to projects for more than one account, you can modify your Git configuration to simplify the contribution process.

Platform navigation

Contributing to multiple accounts using HTTPS and personal access tokens

Alternatively, if you want to use the HTTPS protocol for both accounts, you can use different personal access tokens for each account by configuring Git to store different credentials for each repository.

  1. Откройте терминал.

  2. Чтобы подтвердить использование диспетчера учетных данных, введите следующую команду и просмотрите ее вывод.

    Shell
    git config --get credential.helper
    
  3. Если выходные данные подтверждают использование диспетчера учетных данных, очистите сохраненные учетные данные для диспетчера учетных данных.

    • Если выходные данные не содержат имя диспетчера учетных данных, диспетчер учетных данных не настроен, и вы можете перейти к следующему шагу.

    • If the output is osxkeychain, you're using the macOS keychain. To clear the credentials, you can use the credential helper on the command line:

      $ git credential-osxkeychain erase
      host=github.com
      protocol=https
      > [Press Return]
      >
      
    • Если выходные данные ( manager или manager-core в предыдущих версиях) используют диспетчер учетных данных Git. Чтобы очистить учетные данные, выполните следующую команду.

      Shell
      echo "protocol=https\nhost=github.com" | git credential-manager erase
      
  4. Чтобы настроить Git для кэширования учетных данных для полной удаленный URL-адрес каждого репозитория, к который вы обращаетесь на GitHub, введите следующую команду.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  5. Для каждой учетной записи создайте выделенные данные personal access token (classic) с repo областью. Кроме того, для каждой учетной записи и для каждой организации, в которую вы входите, создайте fine-grained personal access token, которая может получить доступ к нужным репозиториям и имеет разрешения на чтение и запись для содержимого репозитория. Дополнительные сведения см. в разделе Управление личными маркерами доступа.

  6. Когда вы впервые используете Git для клонирования репозитория или доступа к данным в клоне, Git запрашивает учетные данные. Укажите personal access token для учетной записи с доступом к репозиторию.

    Git кэширует данные personal access token на основе полной удаленный URL-адрес репозитория, и вы сможете получать доступ к данным репозитория и записывать их на GitHub.com с помощью правильной учетной записи.

  1. Open Git Bash.

  2. Чтобы подтвердить использование диспетчера учетных данных, введите следующую команду и просмотрите ее вывод.

    Shell
    git config --get credential.helper
    
  3. Если выходные данные подтверждают использование диспетчера учетных данных, очистите сохраненные учетные данные для диспетчера учетных данных.

    • Если выходные данные не содержат имя диспетчера учетных данных, диспетчер учетных данных не настроен, и вы можете перейти к следующему шагу.
    • Если выходные данные ( manager или manager-core в предыдущих версиях) используют диспетчер учетных данных Git. Чтобы очистить учетные данные, выполните следующую команду.
    Shell
    echo "protocol=https`nhost=github.com" | git credential-manager erase
    
    • If the output is wincred, you're using the Windows Credential Manager. To clear the credentials, enter the following command.

      Shell
      cmdkey /delete:LegacyGeneric:target=git:https://github.com
      
  4. Чтобы настроить Git для кэширования учетных данных для полной удаленный URL-адрес каждого репозитория, к который вы обращаетесь на GitHub, введите следующую команду.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  5. Для каждой учетной записи создайте выделенные данные personal access token (classic) с repo областью. Кроме того, для каждой учетной записи и для каждой организации, в которую вы входите, создайте fine-grained personal access token, которая может получить доступ к нужным репозиториям и имеет разрешения на чтение и запись для содержимого репозитория. Дополнительные сведения см. в разделе Управление личными маркерами доступа.

  6. Когда вы впервые используете Git для клонирования репозитория или доступа к данным в клоне, Git запрашивает учетные данные. Укажите personal access token для учетной записи с доступом к репозиторию.

    Git кэширует данные personal access token на основе полной удаленный URL-адрес репозитория, и вы сможете получать доступ к данным репозитория и записывать их на GitHub.com с помощью правильной учетной записи.

  1. Откройте терминал.

  2. Чтобы подтвердить использование диспетчера учетных данных, введите следующую команду и просмотрите ее вывод.

    Shell
    git config --get credential.helper
    
  3. Если выходные данные подтверждают использование диспетчера учетных данных, очистите сохраненные учетные данные для диспетчера учетных данных.

    • Если выходные данные не содержат имя диспетчера учетных данных, диспетчер учетных данных не настроен, и вы можете перейти к следующему шагу.
    • Если выходные данные ( manager или manager-core в предыдущих версиях) используют диспетчер учетных данных Git. Чтобы очистить учетные данные, выполните следующую команду.
    Shell
    echo "protocol=https\nhost=github.com" | git credential-manager erase
    
  4. Чтобы настроить Git для кэширования учетных данных для полной удаленный URL-адрес каждого репозитория, к который вы обращаетесь на GitHub, введите следующую команду.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  5. Для каждой учетной записи создайте выделенные данные personal access token (classic) с repo областью. Кроме того, для каждой учетной записи и для каждой организации, в которую вы входите, создайте fine-grained personal access token, которая может получить доступ к нужным репозиториям и имеет разрешения на чтение и запись для содержимого репозитория. Дополнительные сведения см. в разделе Управление личными маркерами доступа.

  6. Когда вы впервые используете Git для клонирования репозитория или доступа к данным в клоне, Git запрашивает учетные данные. Укажите personal access token для учетной записи с доступом к репозиторию.

    Git кэширует данные personal access token на основе полной удаленный URL-адрес репозитория, и вы сможете получать доступ к данным репозитория и записывать их на GitHub.com с помощью правильной учетной записи.

Contributing to multiple accounts using SSH and GIT_SSH_COMMAND

If you want to use the SSH protocol for both accounts, you can use different SSH keys for each account. For more information about using SSH, see Подключение к GitHub с помощью SSH.

To use a different SSH key for different repositories that you clone to your workstation, you must write a shell wrapper function for Git operations. The function should perform the following steps.

  1. Determine the repository's full name with owner, using a command such as git config --get remote.origin.url.
  2. Choose the correct SSH key for authentication.
  3. Modify GIT_SSH_COMMAND accordingly. For more information about GIT_SSH_COMMAND, see Environment Variables in the Git documentation.

For example, the following command sets the GIT_SSH_COMMAND environment variable to specify an SSH command that uses the private key file at PATH/TO/KEY/FILE for authentication to clone the repository named OWNER/REPOSITORY on GitHub.com.

Shell
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY

Next steps

For reference information, see Справочник по личной учетной записи.