如何解决请求的 URL 返回错误:git 存储库中的 403
Posted
技术标签:
【中文标题】如何解决请求的 URL 返回错误:git 存储库中的 403【英文标题】:How to solve the requested URL returned error: 403 in git repository 【发布时间】:2019-03-03 03:38:50 【问题描述】:我在 git 中有多个帐户,我在三周前用这个帐户提交了代码。我将无法提取我的代码。我得到了请求 网址返回错误:403 我会尝试Pushing to Git returning Error Code 403 fatal: HTTP request failed ,但我无法解决我的错误
git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
remote: Forbidden
fatal: unable to access
'https://chantidurgam@bitbucket.org/chantidurgam/patanjali.git/': The requested
URL returned error: 403
完成但有错误,见上文。
【问题讨论】:
Credential Manager? 我注意到,bitbucket 有时需要长达 10 分钟才能让新添加到存储库的用户“拉”,尽管它已经从 Web 界面可见。我建议遇到意外 403 的任何人在采取其他步骤之前给它一些时间。 【参考方案1】:我在使用 git cli 和 sourcetree 时遇到了同样的问题 - 并且执行以下操作解决了它。
这基本上是一个身份验证问题,git 已经为我存储了 bitbucket 和 github 的凭据。我所要做的就是使用 sourcetree 删除那些保存的条目。
我正在使用 SourceTree,所以转到工具 -> 选项 -> 身份验证
在git保存的密码下,我都删除了。
这篇文章也可以引出其他方法来做同样的事情。
Remove credentials from Git
【讨论】:
【参考方案2】:首先需要检查的是access level
,它应该设置为write
。如果您被其他人添加到存储库,而他们忘记授予您所需的权限,则可能会发生这种情况。
【讨论】:
thx @armin,我挣扎了一个小时,即使我已经更改了密码,因为有时它说我的密码错误。 +1 拯救我的一天。【参考方案3】:这就是我的解决方法。
-
转到 bitbucket 并打开存储库。
右上角是一个“克隆按钮”
单击按钮并复制网址。它看起来像这样:git clone https://something@bitbucket.org/something/something.git
打开终端并输入以下内容git remote remove origin
git remote add origin https://something@bitbucket.org/something/something.git
然后只需执行 git push。 注意:Git 可能会提示您执行此操作。
git push --set-upstream origin master
去做吧。我做到了,现在我的工作。
【讨论】:
【参考方案4】:git config --global --unset credential.helper
上面的代码对我有用。正如@Kunal 所说,我认为我遇到这个问题的一个原因是因为我之前保存了我的凭据,这导致了现在的身份验证问题。我希望代码有效,这让我难过了一个多小时。
【讨论】:
【参考方案5】:对于我来说,这个源树特定问题是通过将 ssh 客户端更改为 OpenSSH 来解决的,因为我的密钥位于 C:\Users\username\ .ssh\id_rsa
您可以在工具 -> 选项 -> 常规选项卡 -> SSH 客户端配置中更改它
注意:对于 Putty 或 Plink,密钥应位于 C:\Users\username\ .ssh\id_rsa.ppk
【讨论】:
【参考方案6】:第一次尝试:
-
删除任何现有的 ssh 密钥 (/.ssh/id_rsa)。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" #生成新的 ssh 密钥
电子邮件 github wali。
在 ssh 密钥生成之后。
eval $(ssh-agent -s) 启动 ssh 代理
ssh-add ~/.ssh/id_rsa
剪辑
git 初始化 混帐添加。 git 提交 -m "" git status 检查文件。 git remote add origin "url of the repo" 这一步只是第一次。 git push -u origin master 这用于初始推送。否则使用 git push。 如果还是不行----去凭证管理器然后windows凭证并删除github的个人访问令牌。
【讨论】:
【参考方案7】:您好,如果您想在您的 git hub 帐户中推送项目时遇到问题,最终错误是 403-fatal-http-request-failed 您在 PC 中登录另一个帐户 您必须删除,为此您必须遵循以下地址: ⇒ Control Panel\User Accounts\Credential Manager 并在 github 中删除过去的帐户 这个地址对windows系统很有用
【讨论】:
【参考方案8】:重置 git 凭据: 如果是 ubuntu 系统:
取消设置用户名和密码
git config --global --unset credential.helper
git config --unset credential.helper
打开 .git-credentials 并删除现有的用户名和密码
vim ~/.git-credentials
https://username:password@mygit.github.com
到 https://mygit.github.com
再次存储 git 凭据:
git config --global credential.helper store
git pull
如果是windows:
转到控制面板\用户帐户\凭据管理器 在 Generic Credentials 下,您可以看到存储的 git 密码并将其删除。
【讨论】:
解释得很好!【参考方案9】:在您的 Bitbucket.org 帐户中,进入存储库菜单 > 用户和组访问权限,并将您的用户权限更改为 WRITE 或 ADMIN。然后在你的 git 中再试一次!
【讨论】:
【参考方案10】:对我来说,这被证明是我的 Linux 客户端和 Bitbucket 网站之间的 2 因素身份验证的问题。当我从我的服务器上进行拉取时,我被要求输入我的 User:Pass 并且在正确输入后它给了我一个The requested URL returned error: 403
。
我从 Bitbucket 中删除了 2-factor,一切又开始工作了。
【讨论】:
【参考方案11】:大家好,我正在获得对密码身份验证的支持已于 2021 年 8 月 13 日移除。请改用个人访问令牌。远程:请参阅https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ 了解更多信息。
逐步解决问题
现在我们对 Git 操作需要 Token 身份验证要求,因为 Github 出于安全目的对密码身份验证进行了更改。
您需要遵循一些来生成个人访问令牌。
直接链接https://github.com/settings/tokens/new 用于创建个人 访问令牌
第 1 步 - 打开 GitHub 并使用您的凭据登录。
第 2 步 - 点击设置菜单。
第 3 步 - 在设置菜单中单击 开发者设置,有两个选项可用于 OAuth 应用程序和个人访问令牌。
第 4 步 - 我们需要点击 个人访问令牌
第 5 步 - 单击“生成新令牌”按钮。
第 7 步 - 之后生成新令牌。复制生成的令牌并使用此令牌通过用户名和令牌访问 git。
现在在系统中管理您的凭据
窗口用户
1.) 打开控制面板 => 用户帐户 => 管理您的凭据 => Windows 凭据。
在密码框中粘贴您的访问令牌并单击保存按钮并引用您的桌面。
现在你可以访问 git。
如果你在 android studio 中访问 git,如果要求输入密码,则添加 GitHub 个人访问令牌而不是你的密码。
如果您想使用 android 终端,请将 cammand 粘贴到终端中
git push https://ghp_FVLWF8rjU4HdsfsdgqSCjzIZh71yoF5N@github.com/username/yourrep.git
【讨论】:
【参考方案12】:我已通过添加来自here的应用密码解决了Bitbucket中的这个问题
【讨论】:
以上是关于如何解决请求的 URL 返回错误:git 存储库中的 403的主要内容,如果未能解决你的问题,请参考以下文章
如何解决请求的 URL 返回错误:bitbucket 上的 403?并设置同时推送 github 和 bitbucket?