【问题标题】:Git suddenly won't authenticate to GitHub automaticallyGit 突然不会自动向 GitHub 进行身份验证
【发布时间】:2022-12-01 07:47:36
【问题描述】:

我对 git 比较陌生。我一直在做项目,向我的 GitHub 存储库推送和拉取。设置完所有内容后,我需要做的就是在 bash 终端中输入 git push origin main,一切正常。

今天早些时候,我想推送到 GitHub 上的远程仓库。我输入了 git pull origin main 一百次,但突然出现错误“致命:无法使用‘wincredman’凭据存储保留凭据。”

我已经尝试了所有我能找到的东西。我取消设置我的凭据管理器,删除 Windows 凭据管理器中的旧凭据,尝试创建 PAT。我终于设法使用 PAT 成功拉/推,但现在我每次都必须手动输入我的用户名和 PAT。

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

【问题讨论】:

  • 此处的错误消息 (fatal: Unable to persist credentials with the 'wincredman' credential store.) 表明您的 Git 软件使用的凭证管理器存在问题。如果它在没有设置管理器的情况下仍在使用它,那么它一定是您特定 Git 发行版的默认设置。我不使用 Windows,但 the GCM docs 说这是(大多数?)Windows 设置的默认设置。
  • 为什么 wincredman 会失败,我不知道,但使用过 GCM 的人(见上面的链接)似乎很喜欢它。同时,如果您喜欢 wincredman,则应该调查它失败的原因。
  • 顺便说一下,this question 指的是通过 PowerShell 使用远程访问时出现的问题。那可能是相关的。

标签: git git-for-windows


【解决方案1】:

老实说,我不太确定我做了什么来解决问题。我删除了在 git/Windows Credential Manager/etc 中设置的所有凭据...试图从 VS Code 中的远程拉取,它让我登录到 GitHub。现在一切都恢复正常工作。似乎我只能按照我想要的方式从 VS Code 中推/拉。我想它有效。

【讨论】:

    【解决方案2】:

    当我尝试使用 Visual Studio Professional 2022(64 位)版本 17.4.2 中的 Git 存储库窗口在主分支上拉取任何传入时,同样的问题发生在我身上。

    这是我修复它的方法:

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

    【讨论】:

      猜你喜欢
      • 2021-12-23
      • 1970-01-01
      • 2022-07-11
      • 1970-01-01
      • 2017-11-30
      • 2020-01-17
      • 2023-02-06
      • 2020-07-26
      • 2013-08-03
      相关资源
      最近更新 更多