在 Windows 10 上,这是我如何解决问题的分步说明
我已经包含了很多屏幕截图,因为它本来应该更难解决。
事后看来,@CSRedRat 说的是对的,但是当我遇到问题时,我无法理解,因为答案太简洁了。
最终导致我找到解决方案的是this article,这使情况更加清晰。
这是交易。虽然您可以使用 GitHub 开发人员设置菜单生成新令牌,然后将其粘贴到 Windows 凭据管理器中解决此问题,但您不应该因为最终该令牌将过期,然后您将再次遇到此问题,因为您手动设置了令牌,因此没有人知道如何刷新令牌。
取而代之的是,这个令牌 privs 问题需要通过 Git for Windows 修复。因此,这笔交易是“旧的”Windows 版 Git 凭据管理器没有要求 privs 来创建或更新工作流,但现在您需要它们。好消息是有一个名为 Git Credential Manager Core 的新版本,它确实要求提供这些权限等等。
新的凭据管理器随 Git 2.28 及更高版本一起提供,但默认情况下未启用。如果您已经安装了此版本或更高版本的 Git for Window,那么您甚至已经拥有该软件。就我而言,我的版本是 2.30.2,所以我已经有了新软件。
但它仍在使用我的旧 Git for Windows 凭据,这些凭据不具备所需的权限。这也可能是您的情况,或者如果您没有旧版本 2.28,那么您需要先安装更新版本。无论哪种方式,一旦您的机器上有足够新版本的 Git for Windows,下一步就是通过在 Windows 搜索框中键入“windows credential manager”来删除旧凭据。
然后找到每个git凭证,点击它,然后点击删除按钮。
现在,当您下次尝试从 git bash Visual Studio 或您使用的任何 git 客户端访问您的 get 帐户时,系统将提示您输入新凭据,因为旧凭据已消失。点击下方对话框中的Sign in with your browser按钮:
然后你会看到一个像下面这样的网页,如果你展开工作流下拉菜单,你会看到它正在询问你这次需要的权限。然后点击Authorize按钮。
一旦你这样做了,你会看到一个这样的页面,用于提供你的 github 密码:
现在,您在 Windows 凭据管理器中拥有了一个新凭据,该凭据具有您需要的权限,并且您曾经失败的操作现在将成功。是的!