我已经使用Github一段时间了,到目前为止我没有问题 git add
, git commit
和 git push
. 突然间我有一个错误说:
致命:身份验证失败
在终端我克隆了一个存储库,处理了一个文件然后我用 git add
将文件添加到提交日志中,当我做 git commit
时,它工作正常 . 最后, git push
要求输入用户名和密码 . 我正确地把它们放进去,每次我这样做,它都说同样的错误 .
有谁知道这个问题的原因是什么以及我如何解决它?
.git/config
的内容是:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = http://www.github.com/######/Random-Python-Tests
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[user]
name = #####
email = ############
25 回答
https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/
如果设置为https,您可能还需要更新存储库的源:
Try the following steps to Edit or Remove the saved credentials:
单击“开始”
类型:凭据管理器(在Windows 10上,这是在"Start->Settings"下 . 然后搜索"Credential Manager")
请参阅
Windows Credentials Manager
快捷方式,然后双击它以打开该应用程序 .应用程序打开后,单击
Windows Credentials
选项卡 .找到要删除/更新的凭据,它们将以"git:"开头,并且可能以"ada:"开头
点击凭证条目,它将打开条目的详细信息视图 .
根据需要单击编辑或删除并确认 .
洗涤,冲洗,必要时重复 .
首先,您可以确保使用正确的URL:
然后,如果它之前正在工作,并且它没有要求您使用用户名,那一定是因为您已将您的凭据(登录/密码)存储在
$HOME/.netrc
文件中,如explained here . 您可以仔细检查这些设置,并确保您的代理(如果有的话)没有更改 .如果仍然无效,您可以切换到ssh网址:
但这意味着您已在Account settings中发布了ssh公钥 .
这对我有用,它还记得我的证书:
运行gitbash
指向repo目录
运行
git config --global credential.helper wincred
您最近是否为git帐户更改了密码您可以尝试
git push
和-u
选项执行上述命令后,它会要求输入密码提供密码
希望它可以帮到你
我认为由于某种原因,GitHub期望URL不具有子域名www . 当我使用(例如)
它给出了以下消息:
但是,如果我使用
它工作得很好 . 对我来说没有多大意义......但我猜 remember not to put www in the remote URL for GitHub repositories.
另请注意,GitHub存储库网页上提供的克隆URL不包含www .
如果您在输入正确的密码和用户名时发现身份验证错误问题,那就是git问题 . 要在计算机中安装git时解决此问题,请取消选中enable git credential manager
基本上我的凭证已过期,我面临上述问题 .
以下2命令帮助我:
当您尝试推送时,它会在下次询问您的凭据 .
有关用户名和密码的安全和不安全存储的更多详细信息,请遵循以下准则:
https://git-scm.com/docs/git-credential-store
https://git-scm.com/docs/git-credential-cache
在Windows密码过期并更改后,我遇到了“$ git fetch fatal:'http:// ....'身份验证失败 . 使用Windows凭据管理器进行多次提取,重新启动甚至重新安装git都无济于事 .
令人惊讶的是,正确的答案在这里的评论中,而不是在答案中(其中一些非常奇怪!) . 您需要转到控制面板 - >凭据管理器/ Windows凭据并更新git的密码:http://yourrepoaddress
我有同样的问题 . 我以这种方式设置url:
git remote set-url origin https://github.com/zkirkland/Random-Python-Tests.git
我还从配置文件中删除了这个条目:
askpass = /bin/echo
. 然后"git push"问我用户名和密码,这次它有效 .我不确定我做了什么来得到这个错误,但做的是:
不适合我 . 然而:
不知何故工作 .
只需从.config文件更改:
url =http://www.github.com/###user###/Random-Python-Tests
至:
url = http://###user###@github.com/###user###/Random-Python-Tests
对我来说,我忘记了我在Github.com上更改了密码,我的shell身份验证密钥链从未更新为新密码 . 从我的钥匙串中删除所有git然后重新运行git请求有助于解决问题,再次提示我输入新密码 .
只是为了在这里解决问题,解决了我的问题是我只是取消了初始提示,用我的bitbucket帐户打开了ssh,我输入了密码,一切都按预期工作 .
我在Windows上遇到了同样的问题 . 大多数时候,由于使用多个git帐户,我通常会面临这个问题 . 如果您在Windows上,请以管理员身份打开终端并尝试再次运行命令 . 确保您具有管理员访问权限 .
嗨我得到了同样的错误我尝试了本页提到的所有解决方案,但没有奏效 . 最后,我找到了解决方案,所以想到发布它 . 如果我错了,请纠正我 . 如果有时您的系统密码最近随时更改,则会出现这类错误 . 它将尝试从旧密码验证 . 请按照下列步骤操作: Go to control panel -> Click on User accounts -> Under Credentials manager -> Go to Manage windows credentials -> Go to Generic credentials -> Expand git server tab - > click on Remove from vault
我也遇到了错误(这就是我降落在这里的原因),但没有一个建议对我有用 . 这是我第一次尝试将本地Git部署到azure . 当我收到此错误时,我会在几次尝试后重置我的凭据(通过单击Azure中的链接) . 问题是,此时它告诉我我的用户名已经被占用,所以我也将我的用户名改为另一个 . 最后,我手动删除了本地驱动器上的.git文件夹,并重新部署它没有问题 .
Problem Statement: "git fatal authentication failed" . 我正在使用bitbucket .
Solution: 我只是删除了用户使用bitbucket的访问管理,然后添加了相同的用户 . .gitconfig文件很简单
如果问题占优势,请使用正确的凭据
如果你使用androidstudio 2.1 beta然后它的bug,升级到beta 2(3 mb更新文件),这对我有用
确保你有WRITE权限推送 .
确保将ssh密钥添加到当前的ssh会话中 .
将
cat ~/.ssh/id_rsa.pub
的输出复制到SSH和GPG密钥下的GitHub设置 .使用
ssh-add ~/.ssh/id_rsa.pub
更新当前的ssh会话我正在使用安装了Openssh的Windows Powershell .
如果您已在Github帐户上启用双因素身份验证,请登录到您的GitHub帐户并转至:https://github.com/settings/tokens/new以生成新的访问令牌,复制该令牌并粘贴为终端中的身份验证密码 .
在Android studio canary build 3.1中,如果您使用的是Android studio git工具,那么您可以使用以下内容:
点击Android Studio
点击首选项...
GO在VersionControl中 - > Github
此处将身份验证类型更改为密码
此步骤将要求您输入登录名和密码 . 输入github用户名s登录名和github密码作为密码 .
单击“测试”按钮 .
如果连接成功,那么你可以使用android studio github UI客户端 .
如果您在Windows上并尝试推送到具有域用户作为存储库用户(TFS)的Windows服务器,请尝试使用IE进入TFS URL(即
http:\\tfs
) . 输入您的域帐户凭据并显示该页面 .CAUTION 只能使用INTERNET EXPLORER!其他浏览器不会更改您的系统凭据 .
现在转到git bash并更改存储库的远程用户,如下所示:
完成了,现在你可以推!
如果您使用ssh并使用https克隆,则无法使用 . 用ssh克隆然后推拉应该按预期工作!