推送到 Git 返回错误代码 403 fatal

Pushing to Git returning Error Code 403 fatal

我想将 README.md 推送到 Github。
使用 Ubuntu 14.04LTS
因此,我承诺执行以下步骤。

echo "# test" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/user/repo.git
git push -u origin master

但是,出现以下错误。

error: The requested URL returned error: 403 Forbidden while accessing https://github.com/user/repo.git/info/refs

fatal: HTTP request failed

我知道用这种方法解决这个错误

git remote set-url origin https://username@github.com/user/repo.git

这样,我必须输入密码。

$ git push origin master
Password: 

但是我讨厌输入密码

这个我查过了,没解决

请告诉我如何无密码推送。

您必须使用 https 并输入密码或使用 ssh(并将您的 public ssh 密钥关联到您的 github 帐户)

我尽力找了错误的causes/solution:

Error: The requested URL returned error: 403 while accessing
https://github.com/Joey-project/repo.git/info/refs
fatal: HTTP request failed

我认为发生这种情况的主要原因之一是从本地计算机到服务器的登录凭据错误。

如果我没记错的话,必须

(1) 确保你有一个稳定的 git 版本

(2) 确保遥控器正确

(3) 如果启用了 2FA,则提供访问令牌

(4) 检查您的权限(username/password)

(5) 使用 ssh 代替 https

可能会派上用场,其中有很多关于您的问题的额外信息。

祝你好运!希望对你有帮助

只需更新您的 git 客户端,您应该不会再遇到此问题

如果您使用多个 github 帐户,那么这也可能是问题的原因。 Git 将您首先使用的用户名和密码保存在 OS 的凭据库中。无论您的 IDE 告诉您什么,任何后续请求都将使用这些详细信息。

这可能会解决您的问题:

git remote set-url origin https://username:userpwd@github.com/user/repo.git

如果您的问题是由于更改存储库(导致用户名、密码不匹配)引起的,请在命令行尝试此操作:

git credential-osxkeychain erase
host=github.com
protocol=https
[Press Return]

它会提示您输入用户名和密码。

https://help.github.com/articles/updating-credentials-from-the-osx-keychain/

如果您使用的是 clonefork,请仔细检查存储库 URL尝试推送到您的 fork 的 URL 而不是原始所有者的存储库 URL.

git remote -v

我遇到了同样的错误

Error: The requested URL returned error: 403 while accessing

例如:https://github.com/Joey-project/repo.git/info/refs fatal: HTTP request failed

然后通过以下方法解决它:

  1. 转到控制面板
  2. 打开用户帐户
  3. 打开凭据管理器
  4. 打开Windows 凭据

现在在通用凭据选项卡中查看GitHub/(任何其他主机)凭据,然后编辑您的用户名 and/or 密码 到正确的状态。