git 即使在缓存凭据后推送仍然要求凭据

git push still asking for credentials even after caching credentials

所以我缓存了我的凭据,因为我厌倦了每次推送都输入我的 GitHub 凭据,但它仍然要求我输入凭据,尽管它有点不同。我一如既往地收到一个弹出窗口来输入我的凭据,我输入它们,它说“注销失败”——一如既往——但这次 tkinter 弹出窗口没有出现,它推送成功。这是消息:

$ git push
(Credential pop-up pops up, I enter my credentials)
Logon failed, use ctrl+c to cancel basic credential prompt.
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 311 bytes | 311.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/Crabby11/crab-line-interface
   467e5b9..ef76485  main -> main

我还向我的 GitHub 帐户添加了一个 SSH 密钥,但这似乎并不重要。

注意:如果你不知道我想要什么,那就是:当我知道时没有弹​​出窗口 git push

编辑:即使我输入了错误的凭据,或单击“取消”,它也会成功推送

I also added an SSH key to my GitHub account but that doesn't seem to matter.

正确:HTTPS URL 不会以任何方式涉及 SSH,因此再多的 SSH 密钥注册也无济于事。

首先检查您使用的是哪个凭据助手(“git-bash”表明您使用的是 Windows),并确保使用最新的 Git (例如,Git For Windows 2.30

确保 git 配置 credential.helper 设置(至少在 Windows 上)为 manager-core

最后,如果你有GitHub 2FA activated, try and enter as a password a PAT (Personal Access Token)