我能够通过HTTPS认证克隆此回购的副本。我已经提交了一些内容,希望将其推回到GitHub服务器。在Windows 7 x64上使用Cygwin。

C:\cygwin\home\XPherior\Code\lunch_call>git push
Password:
error: The requested URL returned error: 403 while accessing https://MichaelDrog
alis@github.com/derekerdmann/lunch_call.git/info/refs

fatal: HTTP request failed

还可以设置为详细模式。我还是很困惑。

C:\cygwin\home\XPherior\Code\lunch_call>set GIT_CURL_VERBOSE=1

C:\cygwin\home\XPherior\Code\lunch_call>git push
Password:
* Couldn't find host github.com in the _netrc file; using defaults
* About to connect() to github.com port 443 (#0)
*   Trying 207.97.227.239... * 0x23cb740 is at send pipe head!
* Connected to github.com (207.97.227.239) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: C:\Program Files (x86)\Git/bin/curl-ca-bundle.crt
  CApath: none
* SSL connection using AES256-SHA
* Server certificate:
*        subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1.
3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L
=San Francisco; O=GitHub, Inc.; CN=github.com
*        start date: 2011-05-27 00:00:00 GMT
*        expire date: 2013-07-29 12:00:00 GMT
*        subjectAltName: github.com matched
*        issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass
urance EV CA-1
*        SSL certificate verify ok.
> GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache

< HTTP/1.1 401 Authorization Required
< Server: nginx/1.0.4
< Date: Thu, 15 Sep 2011 22:44:41 GMT
< Content-Type: text/plain
< Connection: keep-alive
< Content-Length: 55
< WWW-Authenticate: Basic realm="GitHub"
<
* Ignoring the response-body
* Expire cleared
* Connection #0 to host github.com left intact
* Issue another request to this URL: 'https://MichaelDrogalis@github.com/dereker
dmann/lunch_call.git/info/refs?service=git-receive-pack'
* Couldn't find host github.com in the _netrc file; using defaults
* Re-using existing connection! (#0) with host github.com
* Connected to github.com (207.97.227.239) port 443 (#0)
* 0x23cb740 is at send pipe head!
* Server auth using Basic with user 'MichaelDrogalis'
> GET /derekerdmann/lunch_call.git/info/refs?service=git-receive-pack HTTP/1.1
Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache

< HTTP/1.1 401 Authorization Required
< Server: nginx/1.0.4
< Date: Thu, 15 Sep 2011 22:44:41 GMT
< Content-Type: text/plain
< Connection: keep-alive
< Content-Length: 55
* Authentication problem. Ignoring this.
< WWW-Authenticate: Basic realm="GitHub"
* The requested URL returned error: 401
* Closing connection #0
* Couldn't find host github.com in the _netrc file; using defaults
* About to connect() to github.com port 443 (#0)
*   Trying 207.97.227.239... * 0x23cb740 is at send pipe head!
* Connected to github.com (207.97.227.239) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: C:\Program Files (x86)\Git/bin/curl-ca-bundle.crt
  CApath: none
* SSL re-using session ID
* SSL connection using AES256-SHA
* old SSL session ID is stale, removing
* Server certificate:
*        subject: 2.5.4.15=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1.
3.6.1.4.1.311.60.2.1.2=California; serialNumber=C3268102; C=US; ST=California; L
=San Francisco; O=GitHub, Inc.; CN=github.com
*        start date: 2011-05-27 00:00:00 GMT
*        expire date: 2013-07-29 12:00:00 GMT
*        subjectAltName: github.com matched
*        issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert High Ass
urance EV CA-1
*        SSL certificate verify ok.
* Server auth using Basic with user 'MichaelDrogalis'
> GET /derekerdmann/lunch_call.git/info/refs HTTP/1.1
Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
User-Agent: git/1.7.4.3282.g844cb
Host: github.com
Accept: */*
Pragma: no-cache

* The requested URL returned error: 403
* Expire cleared
* Closing connection #0
error: The requested URL returned error: 403 while accessing https://MichaelDrog
alis@github.com/derekerdmann/lunch_call.git/info/refs

fatal: HTTP request failed

以下是我的git和curl版本:

C:\Users\XPherior>git --version
git version 1.7.4.msysgit.0

C:\Users\XPherior>curl --version
curl 7.21.7 (amd64-pc-win32) libcurl/7.21.7 OpenSSL/0.9.8r zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp
smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate Largefile NTLM SSL SSPI libz

403代码为“禁止”。服务器看到了您的请求并拒绝了它。您有权推送到该存储库吗?

想通了。我通过HTTPS进行了克隆。设置我的公共SSH密钥、通过SSH克隆和通过SSH推送解决了这个问题。

我也遇到了同样的问题,只是弄清楚了原因。

Github似乎只支持ssh方式读写repo,尽管https方式也显示“读写”。

因此,您需要将PC上的repo配置更改为ssh方式:

编辑repo目录下的.git/config文件。在[远程“原点”]部分下查找url=条目。将其更改为:网址=https://MichaelDrogalis@github.com/derekedmann/lunch_call.git至:网址=ssh://git@github.com/derekedmann/lunch_call.git即,将@符号之前的所有文本更改为ssh://git保存配置文件并退出。现在您可以使用git push origin master在GitHub上同步您的repo。

其他建议切换到SSH的答案有点跑题了。HTTPS是受支持的,但您必须使用GITHUB密码登录,而不是SSH密码(这是给我带来相同错误的原因)。

我也遇到过同样的问题,但确保在终端密码提示下使用我的实际GitHub密码,就可以在不修改配置或使用SSH的情况下解决问题。

注意这一点很重要的原因是,许多公共机构(如我的学校)将阻止SSH,但允许HTTPS(这是我开始通过HTTPS克隆的唯一原因)。

希望这能帮助其他有同样问题的人。。。

对于任何好奇的人来说,我的mac机器vs清醒虚拟机运行的是git 1.7.6 vs 1.7.0.4,完全相同的回购可以从我的mac(较新的git)推送,但不能从虚拟机推送

相同的卷曲版本。也许有些旧的git版本不支持https推送?

肖恩回答的一个小补充。

您可以使用gitremoteseturl命令来代替手动编辑.git/config文件。

在您的情况下,应该是:

git remote set-url origin ssh://git@github.com/derekerdmann/lunch_call.git

我发现这比摆弄点文件更容易、更干净。

help.github.com:更改远程的URL

升级git。GitHub已在回答此问题https://help.github.com/articles/error-the-requested-url-returned-error-403.

我认为@deepwaters对旧版本的答案是正确的。HTTPS URL需要具有用户名。我有git 1.7.0.4,git push origin master在我添加之前甚至不会要求密码。

要确定能够使用https协议登录,您应该首先将身份验证凭据设置为git Remote URI:

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

然后,当您尝试gitpush时,系统会要求您输入密码。

事实上,这是基于http身份验证格式的。您也可以设置密码:

https://youruser:password@github.com/user/repo.git

您应该知道,如果这样做,您的github密码将以明文形式存储在.git目录中,这显然是不可取的。

我现在遇到了这个问题,结果发现我的服务器/etc/resolver.conf文件的ip地址不正确。可能会帮助其他人。

将其从

url=https://MichaelDrogalis@github.com/derekerdmann/lunch_call.git 

to

url=ssh://git@github.com/derekerdmann/lunch_call.git

它起作用了!

不要忘记“@”之前的“git”。

编辑repo目录下的.git/config文件

查找url=[远程“原点”]部分下的条目

从url更改=https://github.com/rootux/my-repo.git到https://USERNAME@github.com/rootux/my-report.git

其中USERNAME是您的github用户名

这发生在我身上,因为我的同事意外禁用了这个存储库的分叉存储库。只是可以检查以确保原始的git(中枢)回购协议仍然存在。

只需将您的用户名添加到url中,如下所示:https://islam9@github.com/islam9/bootstrap-rtl

请检查:http://islamkhalil.wordpress.com/2012/12/06/github-error-pushing-to-git-returning-error-code-403-fatal/

另一个可能的原因是,你可能已经超过了他们的计划限制。

要解决此问题并恢复对回购的写入权限,要么需要升级您的帐户计划,要么需要删除某些合作者。

这可能是一个会计问题。上游(私人)回购所有者的Github帐户可能不是金融账户。我见过客户信用卡过期的情况。

如果您正在使用BitBucket,您的帐户可能会被设置为只读模式,原因如下:

我们正在升级存储细分市场,无法接受新数据。我们正在推出不需要新写入的更改。存储库的所有者需要升级其帐户以接受更多的用户。

https://confluence.atlassian.com/display/BITBUCKET/Repositories+在+只读+模式下

对我有用的是从http改为ssh:

git remote rm origin
git remote add origin git@github.com:username/repoName.git

然后用gitremote-v检查

我也有同样的问题。我的案例是:在github上创建git repo之前,我在本地初始化了它,然后尝试添加远程分支。我通过改变操作顺序来解决问题:在github站点上创建一个repo,然后在本地初始化。但对于像我这样喜欢从命令行执行所有操作的人来说,情况并非如此。

我想出了我自己对这个问题的看法。

问题不是将协议从https更改为ssl,而是,设置Github全局用户名和电子邮件!(我试图推到私有存储库。

git config --global user.email "your_github_email_@email.com"

git config --global user.name "Your full name"

我遇到了同样的错误,原因很愚蠢——我没有权限提交到选定的存储库。我不知道我必须

先分叉选定的项目本地克隆存储库在本地提交我的更改将更改推送到我的github克隆向上游请求拉取请求

如中所述https://help.github.com/categories/63/articles

在gitbox应用程序中将https更改为http后,这对我很有用。

有时设置没有问题,github服务器上也有一些问题。

https://status.github.com-github的当前状态:)

在我的情况下,我收到了上述错误,因为我的github电子邮件id尚未验证。GitHub对未经验证的电子邮件发出警告。

验证电子邮件,然后推送对我有用。

我对比特桶也有同样的问题,但我等了5分钟,然后重试,结果很好。有时这可能是提供者的问题。

Github有专门用于解决此错误的页面:

https://help.github.com/articles/https-cloning-errors

在我的案例中,使用新版本的git(1.8.5.2)解决了这个问题。

Mac OS X上的错误和分辨率相同。

一切都很好,直到我在GitHub上创建了一个新帐户并尝试推送

$ git push -u origin master

并得到错误:

remote:OLDUSER拒绝对NEWUSER/NEWREPO.git的权限。致命:无法访问'https://github.com/NEWUSER/NEWREPO.git/':请求的URL返回错误:403

它应该通过设置全局或当前回购的user.name来修复

$ git config –-global user.name NEWUSER
$ git config user.name NEWUSER

但事实并非如此。

我通过从Keychain Access应用程序的Passwords部分删除与GitHub关联的OLDUSER来修复它。然后,push命令成功。

$ git push -u origin master

参考

单击存储库在右侧,单击“设置”在左侧选项面板上,单击“协作者”在GitHub中添加您认识的人名单击“添加协作者”

在这之后,我们的“推到Git”工作得很好。

编辑repo目录下的.git/config文件

查找url=[远程“原点”]部分下的条目

从url更改=https://github.com/rootux/ms-Dropdown.git到https://USERNAME@github.com/rootux/ms下拉.git

其中USERNAME是您的github用户名

=>这个解决方案对我有效。

用ssh而不是https克隆解决了这个问题

这对我有用-:

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

希望有帮助

我其实有一个非常简单的解决方案。我所做的只是在克隆存储库后以不同的方式编辑git配置文件。远程源url是您需要在默认配置文件中编辑的url。它应该像下图所示

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = https://*username*@github.com/*username*/*repository*.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

更多的原因可能是github.com上的电子邮件验证

只需登录github.com并检查是否没有给您的消息,以确认您的电子邮件地址。如有必要,请确认。

将用户名作为URL的一部分添加,会发生此错误,因为git命令命中的是http而不是https。所以设置url

git remote set-url origin https://<username>@github.com/Path_to_repo.git

之后将提示您输入密码:

在我的案例中,错误是因为我在存储库中没有权限。

对我有用的是:

我的回购是一个分叉,仍然与父母回购挂钩。

git remote -v

会告诉你这是不是你的回购。

git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git

允许您将其重新配置为回购,然后允许您推送。

对于那些在使用ssh(根据Xiao)或http URL时被拒绝403错误的用户尝试以下命令

>git config --global --unset-all credential.helper

>git config --unset-all credential.helper

具有管理员权限

>git config --system --unset-all credential.helper

对我有用的是在门户上重置BitBucket密码,然后再次尝试推送。

也有同样的错误。无法访问403。在我的案例中,这些答案都无效。所以我尝试了下面的方法,它奏效了。

从gitconfig中删除user.email和user.password从密钥链中删除保存的凭据。重新启动系统。现在推送代码,将询问用户/通行证给用户/通行证。

代码推送成功

!macOS!

要在push错误期间解决此类403,必须进入.git目录配置文件并更改给定行:

precomposeunicode = true
[remote "origin"]
http://git@github.com:abc/xyz.git

将行更改为

precomposeunicode = true
[remote "origin"]
ssh://git@github.com/abc/xyz.git

这解决了我的问题。

唯一帮助我的是另一个问题的答案:

Git著名的“错误:拒绝用户对.Git的权限”

总之,如果你和我一样使用Windows,搜索“凭据管理器”并打开它。在那里,你可以找到你的Git凭据。更改用户名(您必须已更改为其他用户名)。

您也可以在“控制面板”-“用户帐户”-“凭据管理器”下找到它。

以上答案都不适用于我的企业GitHub帐户。按照以下步骤通过ssh密钥生成方式进行推送。

通过访问您的git帐户创建回购。

生成ssh密钥:

ssh-keygen -t rsa -C "your_email@example.com"

将文件~/.ssh/id_rsa.pub的内容复制到GitHub帐户设置中的ssh密钥。测试SSH密钥:

ssh -T git@github.com
clone the repo:
git clone git://github.com/username/your-repository

现在cd到git clone文件夹并执行以下操作:

git remote set-url origin git@github.com:username/your-repository.git

现在尝试编辑文件(尝试README),然后执行以下操作:

git add -A
git commit -am "my update msg"
git push -u origin master

更新:新的git版本似乎建议在创建新的repo时不要有任何文件。因此,进行空白回购。

如果您使用的是windows,有时可能会发生这种情况,因为windows在自己的存储中存储外部回购(在我们的例子中是github)的凭据。保存在那里的凭据可能与您现在需要的凭据不同。

所以为了避免这个问题,只需在这个存储中找到github并删除保存的凭据。之后,在推送时,git将请求您的凭据并允许您推送。

这样做是为了临时修复

git推送-uhttps://username:password@github.com/username/rebo_name.git主机

如果这些解决方案都不适合您,请快速阅读以下答案[可能是您的情况]:

对于像我这样的人来说,他们经历了所有这些[伟大的]答案,但仍然难以推动你的承诺,推动失败还有一个潜在的原因。

检查你的git存储库(无论在哪里,GitHub,BitBucket,…),看看一切是否正常。在我的情况下,在花了很多时间弄清楚我的问题是什么(甚至指责PyCharm的新版本。而且,这也会导致您出现同样的错误(403:无法访问URL)

我以前是以不同的github用户身份登录的(比如user1)。对于我的实际github帐户(比如user2),我可以在github中克隆一个新创建的repo,但我无法推动这些更改。

我尝试了上面提到的所有答案,包括从Windows凭据管理器中删除凭据,但都无效。

最终成功的是推出github Windows应用程序。导航到“设置”->“选项”,查看登录的用户是user1。单击“从该用户注销”,然后作为所需用户登录(在本例中为user2)

我也有同样的问题,同样的错误告诉我

remote:user/report.git的权限被拒绝给user2。

这个问题是,在Windows和Mac上,它存储在缓存中,一个指向Github的关键路径。

要在Mac上修复此问题,请执行以下操作

git credential-osxkeychain erase

控制台上没有任何提示。

然后,只需进行一次正常的推送,它就可以让您从Github再次写入用户名和密码。

git commit -m "First Commit"

有关窗口使用的信息,请参阅上面的答案^以及存储的凭据

尝试使用SSH密钥而不是HTTP创建源代码。

如果您可以使用SSH密钥启动,则URL以以下开头:

git@github.com:<YOUR REPO URL>

现在,您可以添加、提交和推送到相应的分支

为用户提供写访问权限。

提供访问权限后,拉动代码一次,然后按下它。

如果需要,请确保您有足够的权限将其推送到存储库然后尝试运行这些命令

git config --global user.email youremail@domain.
git config --global user.name username
git config --global user.password yourpassword

希望这对某人有所帮助

我遇到了这个问题,因为我有代理,无法访问我的存储库

C:\Users\YourUser\.gitconfig

删除狗屁代理,它应该会工作

然后再次尝试使用gitbash进行克隆

 git clone http://********************

我不知道以前是否有人提到过这件事。

我在Bitbucket上遇到了这个问题,我注意到了一件事。例如,如果你有这个,

git push https://myrepo:myRepoPassword@bitbucket.org/myrepo/myrepo.git --all

注意密码后面的@。看,如果您的密码以@结尾,您将有两个@@而不是一个。在我的情况下,是密码导致了问题。

这发生在我身上,因为存储库已被禁用(所有者可以禁用存储库,或者如果帐户不支付账单,Github可能会禁用帐户的所有私有存储库)。

因此,您应该联系存储库所有者并通知他存储库已禁用。

如果All else失败。请确保您没有将项目存档。这是我的问题,将整个解决方案置于只读模式。

当您未接受电子邮件或github repo帐户中的邀请链接时,可能会发生403错误(拒绝访问)。

单击邀请链接后,可以使用以下命令添加远程回购:

git remote add <name> <url>
git push —set-upstream <repo_name> master

例子:

git remote add ProgrammingFoundationExam https://github.com/itprowhoami/ProgrammingFoundationExam.git
git push --set-upstream ProgrammingFoundationExam master

检查您是否在正确的分支上git状态检查存储库权限(需要写入权限)

以下是解决方案

对于Windows,您可以在此处找到密钥:

控制面板>用户帐户>凭据管理器>Windows凭据>通用凭据

接下来,删除Github密钥。

在mac中

1-在Finder中,搜索Keychain Access应用程序。

2在Keychain Access中,搜索github.com。

3-查找github.com的“互联网密码”条目。

4-相应地编辑或删除条目。

请使用管理员权限尝试以下命令。这个命令解决了我的问题。希望它能解决你的问题。

git config --system --unset-all credential.helper

我也有同样的问题。以上这些都不适合我。问题是Github阻止了我的写权限。我已更改密码。现在我可以推了。

任何没有用这些解决方案解决问题的人都遵循以下主题:

“在同一台计算机上使用两个git帐户时会发生这种情况”https://stackoverflow.com/a/52046047/7861886

它有Windows解决方案,而且我还在评论中为Mac用户添加了Mac解决方案。

将git存储库从私有变为公共。

我使用的是Mac,出现了致命错误:无法访问请求的URL返回错误:403。

我确实更改了我的GitHub帐户详细信息。

我必须编辑GitHub的密钥链条目,并将用户名更新为新用户名。您可以在MAC的顶部搜索中轻松找到KeyChain。

我面临同样的问题,并注意到我试图推送分支的存储库是私有的。因此,请尝试以下步骤:

确保您可以访问该专用存储库首先分叉存储库。您将注意到存储库URL将包含您的GitHub用户名现在像这样克隆-->git Clonehttps://github.com/your-github-username/example-repository.git在克隆的存储库文件夹-->cd存储库目录中输入

对克隆的存储库做任何想做的事情。保持在同一个克隆存储库目录中进行下一步操作

检查所有分支。这将列出可用的分支-->git分支立即创建分支-->git checkout-b您的分支名称运行gitbranch检查分支是否已创建现在运行命令-->gitadd。提交您的更改-->gitcommit-m“您的消息”推送您的分支-->git推送来源您的分支名称检查GitHub站点,确保您的分支现在被推送

这就是全部

这里有很多答案,但这就是解决我问题的原因。

自2020年7月起,如果您使用HTTPS,则必须使用令牌身份验证来访问GitHub。

因此,您必须在配置文件设置页面中生成访问令牌,并将其用作密码。选中写入存储库所需的复选框。

现在使用以下命令将用户名添加到repo:

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

当您尝试推送时,它会询问您的密码。输入新生成的令牌。

如果推送仍有问题,请使用web界面将其作为个人回购进行分叉,以隔离任何权限问题。您将能够集中精力解决身份验证问题。

当我们从github克隆某人存储库时发生了此错误。通过使用

git remote set url origin'您的存储库源'

然后在此应用之后

git push-f原始主机

这可能对所有人都很有帮助

我通过以下方式解决了被拒绝的许可问题:

1.)将git升级到最新版本。

2.)将远程url更改为“https://username@github.com/username/report_name.git“通过在gitbash中输入的命令”gitremoteseturl-originhttps://username@github.com/username/report_name.git“

以前,我使用的是2.28版本,所以我没有得到登录屏幕提示。通过更改url,我还可以使用github凭据登录并将更改推送到repo

如果由于某种原因不允许SSH,HTTPS也可以。

要通过HTTPS推送提交,您应该使用个人访问令牌,并确保在定义个人令牌访问权限的Scopes中可以读取和写入。

在GitHub中设置如下。

我也遇到了类似的错误

致命:无法访问'https://gitlab.com/xxxx/yyyy.git/':请求的URL返回错误:403

我通过交换网络(通过改变IP)解决了这个问题。最初,我在我的系统中遇到了一个问题,然后我尝试使用新的网络(通过使用移动热点)并进行了git拉取,

再次回到主网络,我能够毫无问题地执行所有git操作。

如果github出现403错误,

创建令牌时,请确保选中所有复选框:

https://github.com/settings/tokens

我认为github令牌生成页面有设计缺陷。

对于windows,转到“控制面板\用户帐户\凭据管理器”,删除图中所示的条目,并使用用户名/密码推送。

2021 8月13日,通过将其替换为个人访问令牌,取消了从CLI(命令行界面)访问Github时对密码身份验证的支持。

创建个人访问令牌的步骤

默认情况下,令牌始终包括对GitHub上所有公共存储库的只读访问。因此,要赋予推送或拉送权限,您需要在生成访问令牌时选择适当的“范围”。

公共存储库的作用域是public_repo,而私有存储库的范围是repo。具有这些作用域之一的令牌是Git推送或拉取访问可能的最有限的访问。

现在,当系统提示您输入用户名和密码时,请提供GitHub用户名和访问令牌来代替密码。

有关其他可用作用域的描述,请参阅Github文档

如果没有其他方法奏效,请尝试以下操作:

仅限McOS

转到Finder,搜索Keychain Access。在Keychain Access中,搜索github.com。然后查找互联网密码,双击该密码。双击后,查找显示密码,然后输入计算机密码以访问它。您现在应该可以编辑或删除当前令牌。编辑或删除令牌后,保存更改,您应该能够推送代码。

希望这有所帮助。

只是为了补充一个发生在我身上的场景,我的公司需要SSO,因此当我创建/更新新的发布令牌时,我忘记了对其进行授权,并开始从github获得以下403个响应:

我怀疑这种分心可能很常见

我面临着类似的问题,大多数答案在我的情况下都不起作用,我得到了403个被禁止的错误。以下步骤帮助我解决了问题:

如果已安装brew,请通过以下命令安装git CLI:

brew install gh

安装git CLI的参考https://github.com/cli/cli#installation

然后运行

gh auth login  

它会问你以下问题,像这样回答,

What account do you want to log into? GitHub.com
? What is your preferred protocol for Git operations? HTTPS
? Authenticate Git with your GitHub credentials? Yes
? How would you like to authenticate GitHub CLI? Login with a web browser

它将为您生成代码,输入generated为您的浏览器编码以进行身份验证。

! First copy your one-time code: 14*B-E2*7

Press Enter to open github.com in your browser... 
✓ Authentication complete.

通过执行上述步骤,您将能够将代码推送到存储库。