【问题标题】:Pushing to Git returning Error Code 403 fatal推送到 Git 返回错误代码 403 致命
【发布时间】:2015-03-15 18:28:15
【问题描述】:

我想将 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: 

但我讨厌输入密码。

我已经检查过了,但我没有解决。
Pushing to Git returning Error Code 403 fatal: HTTP request failed

请告诉我如何在没有密码的情况下推送。

【问题讨论】:

    标签: git github git-push


    【解决方案1】:

    这可能会解决您的问题:

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

    【讨论】:

    • @JanDoggen 这不是一个仅链接的答案,如果你仔细看答案,你会发现地雷给出了问题的答案而不是链接。
    • @Yusuf 知道了。并且(s)他仍然应该解释为什么这可能会解决问题。 “仅代码”的答案在此网站上的价值也很低。
    • @JanDoggen 403 错误意味着授权问题,所以这个答案在远程 url 上发送用户名和密码,并且没有更多的 403 错误。
    • 对初露头角的新用户进行愉快的抨击除了这个,别无其他对我有用。但是,这会导致您的密码以纯文本形式存储在您的 .git 目录中。我建议将远程 URL 设置为https://username@github.com/user/repo.git,并在需要时使用更合适的方式来缓存您的密码。更改我的 github 用户名后,我出现了这个问题。我终其一生都无法找到更改 git 尝试用于遥控器的密码的方法,但 dilei 的答案有效
    • 是的 +1 解决了我的问题。在这个 centos6 盒子上的任何 git 版本上,我都忽略了 .git-credentials,这个修复让我可以继续使用它。这里有足够的信息可供使用。
    【解决方案2】:

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

    【讨论】:

    • 感谢您的回答。为什么我不能在没有密码的情况下使用 https?直到不久前,我还可以使用 https 没有密码。
    • 如果您将存储库克隆为只读(即没有用户名),则可以在没有密码的情况下从 https 中提取,但除非您使用密码捕获,否则您无法推送到没有密码的 https 存储库:@987654321 @
    • 非常感谢。可能,我无法从多个设备推送。因为,我需要做这个 git remote add origin username@github.com/user/repo.git 可能,我不能推送这个远程 git remote add origin github.com/user/repo.git
    • 如果您使用 ssh 远程,您需要在每个设备中添加每个用户的公钥才能推送。如果您使用 https,则不必这样做,但您必须输入密码(如果您使用具有长时间超时的缓存,则每个会话至少一次)。
    • 你回答中的问题怎么办?能否提供一些代码或命令来执行?
    【解决方案3】:

    我已尽力寻找错误的原因/解决方案:

    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) 检查您的权限(用户名/密码)

    (5) 使用 ssh 代替 https

    Pushing to Git returning Error Code 403 fatal: HTTP request failed 可能会派上用场,其中包含很多关于您的问题的额外信息。

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

    【讨论】:

    • 感谢您的回答。 “错误的登录凭据”是什么意思?我的github密码弱吗?
    • @technuma 他是个机器人:D
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      如果您的问题是由于更改 repo 导致的(导致用户名、密码不匹配),请在命令行中尝试:

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

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

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

      【讨论】:

        【解决方案6】:

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

        git remote -v
        

        【讨论】:

          【解决方案7】:

          只要更新你的 git 客户端,你应该不会再遇到这个问题了

          【讨论】:

            【解决方案8】:

            我遇到了同样的错误

            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/(任何其他主机)凭据,然后编辑您的 用户名 和/或 密码到正确的状态。

            【讨论】:

              猜你喜欢
              • 2014-05-26
              • 2018-12-16
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多