Git突然无法自动认证GitHub

8

我对Git相对陌生。我一直在项目上工作,推送和拉取我的GitHub仓库。设置好一切后,我只需要在bash终端中输入git push origin main,一切都正常。

今天早些时候,我想推送到GitHub上的一个远程仓库。我像往常一样输入git pull origin main,但突然出现了错误“fatal: Unable to persist credentials with the 'wincredman' credential store。”

我尝试了所有能找到的方法。我取消了凭据管理器,删除了Windows凭据管理器中的旧凭据,尝试创建PAT。最后,我成功地使用了PAT进行了pull/push,但现在每次都需要手动输入我的用户名和PAT。

我不知道发生了什么,但我希望能够在不需要登录的情况下从远程推送/拉取。


这里的错误信息(fatal: Unable to persist credentials with the 'wincredman' credential store.)指向了你的Git软件使用的凭证管理器存在问题。如果即使没有设置管理器,它仍然在使用该管理器,那么这必须是你特定的Git发行版的默认设置。我不使用Windows,但是GCM文档说这是(大多数?)Windows设置的默认值。 - torek
为什么wincredman失败了,我不知道,但是使用GCM(请参见上面的链接)的人似乎很喜欢它。同时,如果你喜欢wincredman,你应该调查一下它为什么失败了。 - torek
顺便提一下,这个问题是关于使用PowerShell进行远程访问时出现的问题。这可能有关。 - torek
尝试重新启动您的计算机。这对我来说解决了相同的“无法使用'wincredman'凭据存储持久化凭据”的错误。 - bbodenmiller
4个回答

23
当我从Visual Studio将文件推送到Github时,我遇到了同样的问题。如果您获取“无法使用'wincredman'凭据存储保留凭据”,请尝试在命令提示符上键入以下命令:git config --global credential.credentialStore dpapi,然后键入 git push 命令。这对我有用。

2

说实话,我不太确定我做了什么来解决问题。我删除了在git/Windows凭据管理器等中设置的所有凭据...尝试从VS Code中获取远程代码库时,它让我登录到GitHub。现在一切都恢复正常了。似乎我只能以我想要的方式通过VS Code进行推送/拉取。我猜这样可以行得通。


1

当我尝试使用Visual Studio Professional 2022 (64-bit) Version 17.4.2中的Git Repository窗口从主分支上拉取任何内容时,我遇到了同样的问题。

以下是我解决问题的方法:

  1. 删除Windows凭据管理器中现有的git凭据
    1. 在Windows搜索栏中键入“凭据管理器”
    2. 选择“Windows凭据”
    3. 您应该会看到一个通用凭据列表
    4. 如果您看到以“git:{{link1:https://dev.azure.com/{your_organization}”开头的凭据,请通过单击向下箭头展开它,并单击“删除”
  2. 关闭所有已打开的Visual Studio
  3. 右键单击Visual Studio并选择“以管理员身份运行”
  4. 现在再次尝试拉取,它应提示您登录屏幕
  5. 成功登录后,Windows凭据管理器中应记录一个git凭据

0

我遇到了这个问题。

我按照David Liang和BardYolen在此帖子中给出的建议以及一些其他的堆栈溢出帖子,但都没有起作用。

最终,我不得不启动Visual Studios安装程序。 通过转到单个组件并选中“git for windows”旁边的框来修改我的版本,然后更新我的Visual Studios。

之后,一切似乎都正常工作了。

我不确定我之前是否在Visual Studios中使用过Git for Windows,它是否被某种方式删除了,或者我从未使用过它,某些东西被更新以使我无法使用Git。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接