13

我在 Ubuntu 12.04 LTS 上,刚刚git1.7-something 升级到 version 1.8.4。问题是当我想推送到 GitHub 存储库时,我收到以下消息并且推送没有发生:

/caniuse $ git push
Username for 'https://github.com': rafalchmiel
Password for 'https://rafalchmiel@github.com': 
remote: Anonymous access to rafalchmiel/caniuse.git denied.
fatal: Authentication failed for 'https://github.com/rafalchmiel/caniuse.git/'

这就是我从中得到的git config --list

user.name=Rafal Chmiel
user.email=rafalmarekchmiel@gmail.com
alias.undo-commit=reset --soft HEAD^
color.ui=true
push.default=matching
credential.helper=cache --timeout=86400
github.user=rafalchmiel
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=https://github.com/rafalchmiel/caniuse.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*

这些是我的遥控器(git remote -v):

origin  https://github.com/rafalchmiel/caniuse.git (fetch)
origin  https://github.com/rafalchmiel/caniuse.git (push)

我尝试再次设置 SSH 密钥(尽管这是通过 HTTP 完成的)并搜索了选项。没运气。关于我还能做什么的任何想法?

4

6 回答 6

10

问题没有得到解决,但最后我决定使用 SSH 而不是 HTTPS。SSH完全没有问题(而且无需输入用户名并通过)!

于 2013-09-08T09:50:21.547 回答
4

我遇到了这个问题,因为我启用了 2-Factor-Auth,并且它要求的密码是生成的密码/个人访问令牌,而不是我的 LDAP 密码。我不记得我当时设置了它。

创建个人访问令牌:https ://help.github.com/articles/creating-an-access-token-for-command-line-use/ ,允许我使用生成的令牌作为密码成功推送。

背景:内部托管的企业 Github。能够克隆,作为协作者启用,但无法推送源主。

于 2015-05-11T20:19:29.010 回答
2

我也面临这个问题,正如@xtopolis 所提到的,我生成了本文中提到的访问令牌https://help.github.com/articles/creating-an-access-token-for-command-line-use/

然后使用以下命令推送更改

git push https://<ACCESS_TOCKEN>@github.com/username/repo_name.git
于 2021-09-14T03:10:26.617 回答
1

我遇到了类似的问题,并在寻找答案时遇到了这个问题。

想通了这个问题。

  1. git push在不添加任何文件的情况下使用该命令可能会出现此错误
  2. 使用该命令git push而不添加任何提交也可以执行相同的操作

所以简单的解决方案是遵循这个

git add --all .
git commit
git push
于 2014-03-27T09:53:57.293 回答
1

我和你有同样的问题。但是和你有点不同。

Username for 'https://www.github.com': xxxx@gmail.com
Password for 'https://xxxx@gmail.com@www.github.com':
remote: Anonymous access to xxxxx.git denied.
fatal: Authentication failed for 'https://www.github.com/yyyy/xxx

我发现问题的原因是我用www前缀克隆 https://www.github.com/yyyy/xxx

我再次像这样通过 git clone 存储库解决了它https://github.com/yyyy/xxx,一切正常。

于 2018-04-30T05:14:10.047 回答
1

如果要使用 SSH 密钥,则必须使用以下格式:

$ <snip> on MBP-0x00A3 in ~/misc/vim_dotfiles
✭ (git) working on branch alternate ✔
❯❯ git remote -v
origin  https://github.com/<snip>/vim_dotfiles.git (fetch)
origin  https://github.com/<snip>/vim_dotfiles.git (push)

$ <snip> on MBP-0x00A3 in ~/misc/vim_dotfiles
✭ (git) working on branch alternate ✔
❯❯ git remote add personal git@github.com:<snip>/vim_dotfiles.git

$ <snip> on MBP-0x00A3 in ~/misc/vim_dotfiles
✭ (git) working on branch alternate ✔
❯❯ git remote -v
origin  https://github.com/<snip>/vim_dotfiles.git (fetch)
origin  https://github.com/<snip>/vim_dotfiles.git (push)
personal    git@github.com:<snip>/vim_dotfiles.git (fetch)
personal    git@github.com:<snip>/vim_dotfiles.git (push)

现在你可以这样做:

user@host:~$ git push personal <branch>

它将强制使用您的 SSH 密钥。

于 2016-12-28T19:38:53.513 回答