如何在没有 Windows 凭据管理器的情况下更改我的 git 帐户凭据

Posted

技术标签:

【中文标题】如何在没有 Windows 凭据管理器的情况下更改我的 git 帐户凭据【英文标题】:How do I change my git account credentials without Windows Credentials Manager 【发布时间】:2021-03-01 20:04:21 【问题描述】:

我的 git 客户端在 Windows 10 机器上。我曾尝试使用无效凭据推送我的代码。现在,每当我尝试推送提交时,它都会给我 HTTP Basic:

Access Denied fatal: Authentication failed exception.

我猜这是因为我之前的凭据无效。我尝试使用 Windows 凭据管理器更改我保存的凭据,但由于安全策略,WCM 在我的公司中被阻止。

能否请您帮帮我,在没有 Windows 凭据管理器的情况下如何更改我已经存储的凭据?

$ git push origin master
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://my-host/gitlab/teamx/myapp.git/'

【问题讨论】:

是否可以使用 ssh 密钥代替?您将不再在 WCM 中进行中继。 【参考方案1】:

要保存凭据,您可以通过在命令行上设置用户名密码clone存储库:

$ git clone https://<USERNAME>:<PASSWORD>@github.com/path/to/repo.git

用户名密码将作为远程存储库 URL的一部分存储在.git/config文件中。

如果您已经克隆了一个存储库而没有在命令行上设置用户名密码,你可以随时更新 em> 通过运行以下命令获取远程 URL:

$ git remote set-url origin https://<USERNAME>:<PASSWORD>@github.com/path/to/repo.git

要将用户名和密码保存到现有存储库,请运行以下命令以在您的 Git 存储库中启用凭据存储:

$ git config [--global] credential.helper store

--global 全局启用凭据)

启用凭据存储后,当您第一次从远程 Git 存储库pullpush 时,系统会要求您提供 用户名密码,然后保存在~/.git-credentials中。

在与远程 Git 存储库的下一次通信期间,您无需提供 用户名密码

~/.git-credentials 文件中的每个凭据都存储在其自己的行中作为 URL,例如:

https://<USERNAME>:<PASSWORD>@github.com

看看这个question。您也可以使用 SSH-authentication(查看this 问题)。

【讨论】:

以上是关于如何在没有 Windows 凭据管理器的情况下更改我的 git 帐户凭据的主要内容,如果未能解决你的问题,请参考以下文章

没有管理器的 Grails Spring Security Ldap

在没有管理员权限的情况下更改 Windows 10 中的 Java_Home 路径

允许任何用户在没有凭据的情况下使用 cors 访问“signalr/hubs”(服务器运行 Windows 身份验证)

如何创建类似资源管理器的文件夹浏览器控件?

如何在不提供 C# 管理员凭据的情况下从标准用户启动进程

如何使用管理员凭据更改当前用户的文件夹权限?