Если под Windows и пользователем Git для Windows и manager
для управления учетными данными (он же Git-Credential-Manager-for-Windows
Link ), проблема заключается в том, что нет простого способа переключаться между пользователями при переходе на GitHub с https
использованием OAuth
токенов.
Причина в том, что токен хранится как:
- Интернет-адрес:
git:https://github.com
- Имя пользователя:
Personal Access Token
- Пароль:
OAuth_Token
Варианты URL в Internet Address
не работают, например:
git:https://username@github.com
git:https://github.com/username
- ...
Решение: пространства имен . Это находится в деталях для конфигурации Git-Credential-Manager-for-Windows
:
Цитирую из этого:
Пространство имен
Устанавливает пространство имен для сохраненных учетных данных.
По умолчанию GCM использует пространство имен «git» для всех хранимых учетных данных, установка этого значения конфигурации позволяет контролировать пространство имен, используемое глобально или для каждого хоста.
git config --global credential.namespace name
Теперь сохраните свои учетные данные в диспетчере учетных данных Windows как:
- Интернет-адрес:
git.username:https://github.com
- Имя пользователя:
Personal Access Token
- Пароль:
OAuth_Token
Обратите внимание, что мы изменили: git
-> git.username
(где вы меняете username
свое действительное имя пользователя или ради него на любое другое, которое вы хотите использовать в качестве уникального идентификатора)
Теперь внутри репозитория, в котором вы хотите использовать конкретную запись, выполните:
git config credential.namespace git.username
(Опять же ... замените username
на желаемое значение)
Ваша .git/config
теперь будет содержать:
[credential]
namespace = git.username
И вуаля! Правильные учетные данные будут извлечены из хранилища учетных данных Windows.
Это, конечно, не меняет, какой пользователь / электронная почта подталкивает. Для этого вам нужно настроить обычный user.name
иuser.email
git config --global user.name her_username
) до нажатия