在执行拉取和推送操作时出现以下错误(git-upload-pack not allowed on )

Posted

技术标签:

【中文标题】在执行拉取和推送操作时出现以下错误(git-upload-pack not allowed on )【英文标题】:Getting the following error while doing pull and push operations (git-upload-pack not permitted on ) 【发布时间】:2021-10-19 23:40:00 【问题描述】:

我在过去几天遇到了 git config 问题,在那之前我做了很多提交和拉取,但这次得到了这个错误。

git-upload-pack not permitted on

请帮我解决这个问题。

【问题讨论】:

注意 github 不再支持 https 进行写访问,你必须使用 ssh - 见here @greg-449 如果您使用令牌作为密码,它确实支持它。我一直使用 https 推送。 @VonC 那么 8 月 13 日发生了什么变化?我读到this 说这不再起作用了。 @greg-449 是的,抱歉,您可以在 SO 上找到误导性答案;)我已将自己的答案放在您的链接下方,并发表了评论,希望能减轻“错误”的答案并被接受(在使用 SSH 方面没有错,只是在“HTTPS”不起作用方面)。 更改 java 客户端是否有效? 【参考方案1】:

如this thread中所述:

EGit 支持两种不同的 HTTP 客户端:默认使用 Apache 库,但也可以使用 JDK 内置的 HTTP 客户端

我在 eclipse 2020-12 中遇到了完全相同的问题。 在Preferences->Git 中,我将“Http Client”更改为“Java built-in HTTP”,问题已解决。

如 cmets 中所述,您现在需要使用 PAT (Personal Access token) 作为密码。

正如我 explain here 一样,您可以随意更改您的 GitHub 密码。 您的令牌(除非它具有到期日期,默认情况下为 7 天,但可以在创建时更改)将保持有效。

相反,您可以撤销令牌,而无需更改主密码。

【讨论】:

在哪里可以找到 Preferences->Git ->HttpClient?我试图找到..你能分享一下快照吗? @beingshuchi 也许偏好已经改变,或者它们依赖于你可能没有的插件(JGit/Egit)。在任何情况下,您只需在首选项搜索字段中输入 HTTP Client,它就会显示该设置的每一次出现。 好的,看看,谢谢!【参考方案2】:

@greg-449 如果您使用令牌作为密码,它确实支持它。我一直使用 https 推送。

嗨,格雷格和 VonC,

上述方法对我有用。我在 git 中生成了一个令牌密钥,并将其用作我的密码。现在我可以进行推拉操作了。

非常感谢您的帮助!

【讨论】:

太棒了。我参考 PAT 完成了我的回答。

以上是关于在执行拉取和推送操作时出现以下错误(git-upload-pack not allowed on )的主要内容,如果未能解决你的问题,请参考以下文章

创建git仓库及克隆拉取和推送操作

您如何为 jgit 设置 jschconfigsessionfactory 的配置以便拉取和推送工作?

一步步教你用Prometheus搭建实时监控系统系列——详细分析拉取和推送两种不同模式

sourcetree 每次拉取和推送都要输入密码

sourcetree 每次拉取和推送都要输入密码

设置 git 拉取和推送所有分支