我的回购:https://shadyabhi@github.com/shadyabhi/learnajax.git
shadyabhi@archlinux-N210 ~/github/learnajax $ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://shadyabhi@github.com/shadyabhi/learnajax.git
fetch = +refs/heads/*:refs/remotes/origin/*
shadyabhi@archlinux-N210 ~/github/learnajax $ git config -l
user.name=shadyabhi
user.email=abhijeet.1989@gmail.com
merge.tool=vimdiff
github.token=1095de7027bVVVV01cfAAAAAa5fc8f6
color.ui=auto
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=https://shadyabhi@github.com/shadyabhi/learnajax.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
shadyabhi@archlinux-N210 ~/github/learnajax $ git push -u origin master
Password:
fatal: Authentication failed
shadyabhi@archlinux-N210 ~/github/learnajax $
现在,我无法进入我的回购。我已经检查了github.token与我的帐户设置相同。 Ofcoarse,我输入了正确的密码,但是我收到了这个错误。
答案 0 :(得分:72)
我遇到了类似的问题,用正确的用户和密码来推动我的起源。事实证明,我已经开启了双因素身份验证而忘记了。如果您启用了双因素身份验证,则需要创建一个特定于应用程序的密码来推送您的仓库。 https://help.github.com/articles/creating-an-access-token-for-command-line-use
答案 1 :(得分:10)
如果用户名包含“某些”特殊字符,则存在一些问题(如果使用https)。
答案 2 :(得分:6)
根据我的理解,git HTTP传输不使用github.token
(和github.user
) - 它们只适用于使用GitHub的API的其他工具such as GitX and GitNub。< / p>
我认为“身份验证失败”错误必须是由于您输入了错误的密码。 (这应该是您的GitHub密码,而不是SSH私钥的密码。)
答案 3 :(得分:6)
我刚才遇到了同样的问题。显然,当您在命令行中使用git时,它希望您输入访问令牌而不是密码。这真的很奇怪,但它确实有效。
$ git push origin HEAD
Username for 'https://github.com': <--- your username here
Password for 'https://t7ko@github.com': <--- access token here O_O
PS:这是关于创建令牌的说明:https://help.github.com/articles/creating-an-access-token-for-command-line-use
答案 4 :(得分:2)
我遇到了与前面描述的问题相同的问题。使用#
,¤
或"
的密码似乎无效,无论我尝试过什么。
似乎与Microsoft Office 365门户一样或多或少类似的问题,您无法使用ex。密码中的¤
个字符,如果您打算使用移动设备。
Github登录适用于所有密码,在网络中...但使用任何客户端,它没有。
答案 5 :(得分:1)
如果您的密码包含特殊字符,git push
将无法在终端中使用。我的解决方法是emacs
,并在git push
内执行eshell
。
答案 6 :(得分:1)
如果您的用户名或密码有特殊字符,则可以将其替换为已编码的字符
例如,如果您的密码是“test @ 2010”,则将其写为“test%402010”,config命令将如下所示
git config remote.origin.url https://{username}:test%402010@github.com/{repo_username}/{repo_name}.git