推送时不允许使用git-receive-pack

时间:2012-05-07 01:33:07

标签: eclipse egit

我在Eclipse中使用EGit,并尝试推送到Github。我在本地提交了一个提交,然后尝试将其推送到上游。我收到了这个错误:

 Can't connect to any URI: https://github.com/Buroa/Konklex.git (An internal Exception occurred during push: https://github.com/Buroa/Konklex.git: git-receive-pack not permitted)

我似乎无法找到解决办法。我在这里错过了什么吗?

17 个答案:

答案 0 :(得分:19)

我知道这是一个老线程,但是我今天花了一个多小时才挣扎,终于发现这发生了,因为在我的egit推送对话框窗口我使用了不同的用户标识

一旦我输入了正确的github用户,推送到远程存储库的工作就很顺利了。

答案 1 :(得分:7)

在上下文菜单中查看“在安全商店中存储”>团队>遥控>配置推送到上游>更改。 问题解决了:D

答案 2 :(得分:7)

听起来很愚蠢:确保你有权推进回购。

就我而言,同事还没有给我的用户推送权利......

答案 3 :(得分:5)

有时您需要在github上验证您的帐户电子邮件

答案 4 :(得分:2)

在我的情况下,我不得不接受Github上组织的邀请。

最初,我试图推动我的更改并得到上述错误。

点击邀请函中的链接后,我的推送成功了。 在收件箱中查找包含以下内容的电子邮件,然后单击要加入的链接:

  

<username>

     

<other_username>邀请您加入<org_name>组织   在GitHub上。前往https://<github_address>/<org_name>查看   退出<org_name>的个人资料。

     

要加入<org_name>,请点击以下链接:

     

https://<github_address>/orgs/<org_name>/invitation?via_email=1

     

一些有用的提示:

     
      
  • 如果您获得404页面,请确保以<username>身份登录。
  •   
  • 您也可以直接访问https://<github_address>/<org_name>
  • 上的组织页面来接受邀请   
     

如果您没有期待此邀请,可以忽略此电子邮件。

     

谢谢,GitHub团队

答案 5 :(得分:1)

git-receive-pack not permitted相当于username/password not recognized

正如其他人发布的那样,您可能会出于各种原因收到错误消息,包括:

  • 您在Github上没有帐户
  • 您没有通过电子邮件验证来完成Github上的帐户
  • 您的用户名没有该存储库的推送权限(例如您的用户名未列为贡献者)
  • 您意外使用了错误的用户名(替换为对该存储库没有推送权限的用户名)
  • 您输入的密码错误
  • 您使用了错误的协议(例如。您使用了SSH或HTTPS,只有其他协议可以接受时)

答案 6 :(得分:1)

进入 Bitbucket - 个人设置 - 访问管理 - 应用密码 - 点击“创建应用密码”按钮

在“标签”字段中提供任何名称

选择权限部分中的所有复选框

点击“创建”按钮

将生成密码。复制此密码并将其保存到任何本地文本文件。

转到凭据管理器 - Windows 凭据管理器

删除保存的 Bitbucket 登录信息。

现在转到 Eclipse 并尝试再次执行 Commit 和 Push

当提示输入密码时,提供复制的生成的应用密码。

现在提交和推送应该是成功的,没有 git-receive.-pack not allowed 错误。

enter image description here

答案 7 :(得分:1)

由于某些原因,egit似乎不适用于Wincred凭证存储。你必须使用eclipse。

  1. 打开 Git存储库透视图。
  2. 打开遥控器节点,右键单击原点(或您选择的遥控器)。
  3. 点击配置推送然后更改... 按钮

  4. 填写身份验证部分

  5. 进行Dry-Run测试

  6. 这应该可以解决问题。

答案 8 :(得分:0)

如果您在使用Git时遇到git-receive-pack不允许的错误,可能是您的配置问题。在我的情况下,我使用https克隆了存储库(需要认证)。但是,由于上述错误,推送失败。这是因为我只能通过SSH推送。因此,一旦我更改了我的结帐配置中的协议,一切都很好。

由于我使用Eclipse(和eGit),因此有些人知道可以通过项目的上下文菜单(右键单击)访问Git克隆项目的配置设置,并选择团队,远程和&#34;配置从上游获取&#34;或者将Push推送到上游&#34;,如果适用的话。

希望这有帮助!

答案 9 :(得分:0)

在我的情况下,这是因为权限。我们做了一些从gitlab到github的迁移。我的同事从我正在研究的旧项目中创建了一个私人项目。在我完成后,我发现我无法推动并得到此错误。最后,我们发现这是因为我没有被添加到这个项目的合作者那里。我认为它应该自动完成,因为我已经是这个项目的贡献者之一。希望对有类似问题的人有所帮助。

答案 10 :(得分:0)

由于我的组织要求我们使用SSH密钥而不是用户名和密码,因此对我有用的方法是:

  1. 在Eclipse中右键单击您的项目->团队->远程->配置向上游推送
  2. 在URI旁边,单击“更改”
  3. 选择协议ssh
  4. 处于身份验证之下->用户插入git(如果您在此处使用默认用户名,则eclipse / git会自动搜索您的id_rsa密钥文件-我尝试添加我的真实用户名,但从未成功)< / li>
  5. 完成并保存并推送

答案 11 :(得分:0)

我遇到了eGit和AnypointStudio(具有 https 协议)

的问题。

解决方案-

  1. 在相应的Git存储库设置中生成访问令牌,将其保存在一边。

  2. 转到Git存储库->您的项目->遥控器-> origin->右键单击Push(红色箭头),然后选择Change Credentials。

在密码框中输入第一步生成的访问令牌和用户名,保存并尝试立即推送本地提交。

对我来说有效。

答案 12 :(得分:0)

请确保您的git用户ID和密码在配置上不匹配。请重新检查并确保您的凭据正确。

答案 13 :(得分:0)

非常基本,但是我却遇到了: 我没有验证我的电子邮件 。查看您的电子邮件,按“验证电子邮件”按钮,然后再次尝试推送。

答案 14 :(得分:0)

另一个问题可能是您在为 Github 创建个人访问令牌时没有选中所有必要的复选框。

就我而言,这是我的错误,通过在创建个人访问令牌时选中所有权限/复选框来创建新令牌,它工作正常。

答案 15 :(得分:0)

简单的答案是 - 您没有对要推送的存储库的写入权限。

答案 16 :(得分:0)

使用 GitHub 中的最新更改,试试这个链接。现在,您需要将令牌作为密码传递,而不是实际密码。

参考 - https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token