Участие в нескольких учетных записях с помощью HTTPS и personal access tokens
Кроме того, если вы хотите использовать протокол HTTPS для обеих учетных записей, можно использовать разные данные personal access tokens для каждой учетной записи, настроив Git для хранения различных учетных данных для каждого репозитория.
-
Откройте терминал.
-
Чтобы подтвердить использование диспетчера учетных данных, введите следующую команду и просмотрите ее вывод.
Shell git config --get credential.helper
git config --get credential.helper -
Если выходные данные подтверждают использование диспетчера учетных данных, очистите сохраненные учетные данные для диспетчера учетных данных.
- Если выходные данные не содержат имя диспетчера учетных данных, диспетчер учетных данных не настроен, и вы можете перейти к следующему шагу.
-
Если вы получили выходные данные
osxkeychain, вы используете цепочку ключей macOS. Чтобы очистить учетные данные, можно использовать вспомогательный компонент учетных данных в командной строке:$ 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
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
-
Чтобы настроить Git для кэширования учетных данных для полной удаленный URL-адрес каждого репозитория, к который вы обращаетесь на GitHub, введите следующую команду.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true -
Для каждой учетной записи создайте выделенные данные personal access token (classic) с
repoобластью. Кроме того, для каждой учетной записи и для каждой организации, в которую вы входите, создайте fine-grained personal access token, которая может получить доступ к нужным репозиториям и имеет разрешения на чтение и запись для содержимого репозитория. Дополнительные сведения см. в разделе Управление личными маркерами доступа. -
Когда вы впервые используете Git для клонирования репозитория или доступа к данным в клоне, Git запрашивает учетные данные. Укажите personal access token для учетной записи с доступом к репозиторию.
Git кэширует данные personal access token на основе полной удаленный URL-адрес репозитория, и вы сможете получать доступ к данным репозитория и записывать их на GitHub.com с помощью правильной учетной записи.
-
Откройте Git Bash.
-
Чтобы подтвердить использование диспетчера учетных данных, введите следующую команду и просмотрите ее вывод.
Shell git config --get credential.helper
git config --get credential.helper -
Если выходные данные подтверждают использование диспетчера учетных данных, очистите сохраненные учетные данные для диспетчера учетных данных.
-
Если выходные данные не содержат имя диспетчера учетных данных, диспетчер учетных данных не настроен, и вы можете перейти к следующему шагу.
-
Если выходные данные (
managerилиmanager-coreв предыдущих версиях) используют диспетчер учетных данных Git. Чтобы очистить учетные данные, выполните следующую команду.Shell echo "protocol=https`nhost=github.com" | git credential-manager erase
echo "protocol=https`nhost=github.com" | git credential-manager erase-
Если результат
wincred, вы используете Windows Credential Manager. Чтобы очистить учетные данные, введите следующую команду.Shell cmdkey /delete:LegacyGeneric:target=git:https://github.com
cmdkey /delete:LegacyGeneric:target=git:https://github.com
-
-
Чтобы настроить Git для кэширования учетных данных для полной удаленный URL-адрес каждого репозитория, к который вы обращаетесь на GitHub, введите следующую команду.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true -
Для каждой учетной записи создайте выделенные данные personal access token (classic) с
repoобластью. Кроме того, для каждой учетной записи и для каждой организации, в которую вы входите, создайте fine-grained personal access token, которая может получить доступ к нужным репозиториям и имеет разрешения на чтение и запись для содержимого репозитория. Дополнительные сведения см. в разделе Управление личными маркерами доступа. -
Когда вы впервые используете Git для клонирования репозитория или доступа к данным в клоне, Git запрашивает учетные данные. Укажите personal access token для учетной записи с доступом к репозиторию.
Git кэширует данные personal access token на основе полной удаленный URL-адрес репозитория, и вы сможете получать доступ к данным репозитория и записывать их на GitHub.com с помощью правильной учетной записи.
данных повторного использования.git.open-terminal %} 1. Чтобы подтвердить использование диспетчера учетных данных, введите следующую команду и просмотрите ее вывод.
git config --get credential.helper
git config --get credential.helper
- Если выходные данные подтверждают использование диспетчера учетных данных, очистите сохраненные учетные данные для диспетчера учетных данных.
-
Если выходные данные не содержат имя диспетчера учетных данных, диспетчер учетных данных не настроен, и вы можете перейти к следующему шагу.
-
Если выходные данные (
managerилиmanager-coreв предыдущих версиях) используют диспетчер учетных данных Git. Чтобы очистить учетные данные, выполните следующую команду.Shell echo "protocol=https\nhost=github.com" | git credential-manager erase
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
Чтобы настроить Git для кэширования учетных данных для полной удаленный URL-адрес каждого репозитория, к который вы обращаетесь на GitHub, введите следующую команду.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true -
Для каждой учетной записи создайте выделенные данные personal access token (classic) с
repoобластью. Кроме того, для каждой учетной записи и для каждой организации, в которую вы входите, создайте fine-grained personal access token, которая может получить доступ к нужным репозиториям и имеет разрешения на чтение и запись для содержимого репозитория. Дополнительные сведения см. в разделе Управление личными маркерами доступа. -
Когда вы впервые используете Git для клонирования репозитория или доступа к данным в клоне, Git запрашивает учетные данные. Укажите personal access token для учетной записи с доступом к репозиторию.
Git кэширует данные personal access token на основе полной удаленный URL-адрес репозитория, и вы сможете получать доступ к данным репозитория и записывать их на GitHub.com с помощью правильной учетной записи.
Работа в нескольких учетных записях с использованием SSH и GIT_SSH_COMMAND
Если вы хотите использовать протокол SSH для обеих учетных записей, для каждой учетной записи можно использовать разные ключи SSH. Дополнительные сведения об использовании SSH см. в разделе Подключение к GitHub через SSH.
Чтобы использовать другой ключ SSH для других репозиториев, клонированных на рабочую станцию, необходимо написать функцию оболочки для операций Git. Функция должна выполнять следующие действия.
- Определите полное имя репозитория с владельцем, используя команду, например
git config --get remote.origin.url. - Выберите правильный ключ SSH для проверки подлинности.
- Измените
GIT_SSH_COMMANDсоответствующим образом. Дополнительные сведения оGIT_SSH_COMMANDсм. в разделе Переменные среды в документации по Git.
Например, следующая команда задает GIT_SSH_COMMAND переменную среды, чтобы указать команду SSH, которая использует файл закрытого ключа в_ PATH/TO/KEY/FILE_ для проверки подлинности для клонирования репозитория с именем OWNER/REPOSITORY на GitHub.com.
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
Внесение вклада в несколько аккаунтов с использованием SSH и нескольких ключей
Если вы являетесь участником корпоративный с управляемыми пользователями, но также хотите сотрудничать вне вашего предприятия с помощью личного аккаунта, вы можете использовать разные SSH-ключи для каждого аккаунта. Дополнительные сведения об использовании SSH см. в разделе Подключение к GitHub через SSH.
Предупреждение
Вы не можете использовать один и тот же SSH-ключ для внесения вклада в оба репозитории внутри вашего организация с управляемыми пользователями и вне предприятия.
-
Сгенерируйте другой SSH-ключ для репозиториев в вашем организация с управляемыми пользователями. См . раздел AUTOTITLE. При сохранении ключа дайте ему другое имя файла от существующего ключа (например, добавьте -emu к рекомендуемому именю файла).
-
Добавьте новый ssh-ключ к вашему управляемая учетная запись пользователя. См. раздел AUTOTITLE
-
Настройте свой SSH Config File
~/.ssh/configтак, чтобы он использовал разные клавиши. Например, если ваш личный SSH-ключ,~/.ssh/id_ed25519а корпоративный с управляемыми пользователями SSH ключ —~/.ssh/id_ed25519-emuText 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 yesПримечание.
Линия
IdentitiesOnlyгарантирует, что если ssh-агент загрузил несколько ключей, SSH использует правильный ключ при подключении. -
Проверьте конфигурацию SSH, выполнив следующую команду подключения с помощью SSH-ключа, связанного с вашим личным аккаунтом — см. Тестирование подключения по протоколу SSH для подробностей
Shell ssh -T git@github.com
ssh -T git@github.comПроверьте, можете ли вы подключиться к (GitHub) с помощью вашего ключа корпоративный с управляемыми пользователями
Shell ssh -T git@github-emu.com
ssh -T git@github-emu.com -
Скажите
gitиспользовать правильный ключ при скачивании или загрузке репозитория в организация с управляемыми пользователями. Чтобы перечислить организации в вашем корпоративный с управляемыми пользователями, 1. В правом верхнем углу GitHub, щелкните рисунок профиля, а затем выберите октикона "организация" aria-hidden="true" aria-label="organization" %} Ваши организации.- Для каждой перечисленной организации скажите
gitиспользоватьgithub-emu.comхост.
Например, если одна из ваших организаций вызывается
octocat-emu, чтобы использоватьgitхостgithub-emu.comдля репозиториев,octocat-emuвыполните следующую команду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/" - Для каждой перечисленной организации скажите
Теперь, когда вы клонируете репозиторий с помощью SSH, в octocat-emu организации git будет использоваться SSH-ключ, связанный с вашим корпоративный с управляемыми пользователями, вместо вашего личного ключа.
Дальнейшие шаги
Справочные сведения см. в разделе Справочник по личной учетной записи.