我有一个项目托管在GitHub上。我失败时,试图推动我的修改在主人。我总是得到以下错误消息

Password for 'https://git@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://git@github.com/eurydyce/MDANSE.git/'

但是,设置我的ssh密钥到github似乎没问题。实际上,当我执行ssh -T git@github.com时,我得到

Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.

这似乎表明,一切都是OK从这一边(eurydyce是我的github用户名)。我严格按照github上给出的说明和许多堆栈讨论的建议,但没有办法。你知道我可能做错了什么吗?


当前回答

我通过安装GitHub CLI并运行gh auth登录来解决我的问题

看到的: https://docs.github.com/en/get-started/getting-started-with-git/caching-your-github-credentials-in-git#github-cli

其他回答

而不是git拉也尝试git拉origin master

我修改了密码,第一个命令报错:

$ git pull
remote: Invalid username or password.
fatal: Authentication failed for ...

git拉了origin master后,它询问密码,似乎更新了自己

当我遇到这个问题时,我所做的解决方法是从我的github仪表板生成新的令牌,并将以下代码粘贴到我的终端

$ git远程设置url来源https://your-github-username:your-github-token@github.com/your-github-username/your-github-repo.git

如果你像我一样刚刚更新了密码,然后运行git push就遇到了这个问题,那么有一个超级简单的解决方法。

仅限Mac用户使用。您需要删除GitHub的OSX Keychain访问条目。您可以通过终端运行以下命令来完成。

通过命令行删除凭据

通过命令行,可以直接使用凭据帮助程序擦除密钥链条目。

要做到这一点,键入以下命令:

git credential-osxkeychain erase
host=github.com
protocol=https

# [Now Press Return]

如果它成功了,什么也不会打印出来。为了测试它的工作,试着从GitHub克隆一个存储库,或者像我的情况下git push一样再次运行之前的操作。如果提示输入密码,则该keychain条目已被删除。

我做了:

$git pull origin master

然后它要求[用户名]和[密码],现在似乎工作正常。

Windows使用cmd-Greetings时出现问题

在Windows上使用cmd-Greetings不允许克隆私有存储库有一个问题。删除本文档中描述的cmd-greeting(关键字Command Processor):

已知的问题

我可以确认其他客户,如SourceTree, GitKraken, Tower和TortoiseGit也受到了这个问题的影响。