如果在 Windows 和用户 Git for Windows 和manager
管理凭据(又名Git-Credential-Manager-for-Windows
Linkhttps
)下,问题是在使用OAuth
令牌推送到 GitHub 时没有简单的方法在用户之间切换。
原因是令牌存储为:
- 网址:
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 Credential Store 中提取正确的凭据。
当然,这不会改变正在推送的用户/电子邮件。为此,您必须配置通常的user.name
和user.email