26

我在 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)

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

4

24 回答 24

24

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

一旦我输入了正确的 github 用户,对远程存储库的推送就顺利进行了。

于 2013-06-23T21:39:30.530 回答
14

听起来可能很愚蠢:确保您确实有权推送到 repo。

在我的情况下,同事还没有给我的用户推送权限......

于 2017-03-28T14:41:26.023 回答
12

只需在上下文菜单>团队>远程>配置推送到上游>更改中检查“存储在安全存储中” 。问题解决了 :D

于 2014-05-09T12:58:15.953 回答
7

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

于 2013-11-01T18:39:03.730 回答
7

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

正如其他人发布的那样,您可能会因为许多不同的原因收到错误消息,包括:

  • 你没有 Github 账号
  • 您没有进行电子邮件验证以完成您在 Github 上的帐户
  • 您的用户名没有对该存储库的推送权限(例如,您的用户名未列为贡献者)
  • 您不小心使用了错误的用户名(替换为对该存储库没有推送权限的用户名)
  • 你输入的密码错误
  • 您使用了错误的协议进行推送(例如,您使用了 SSH 或 HTTPS,而只有其他协议可以接受)
于 2017-09-28T18:12:16.243 回答
2

我在使用 eGit 和 AnypointStudio(使用https协议)时遇到了这个问题

解决方案-

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

  2. 转到 Git Repositories -> Your Project -> Remotes -> origin -> 右键单击​​ Push(红色箭头)并选择 Change Credentials。

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

对我来说,它奏效了。

于 2019-10-07T16:27:28.423 回答
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 团队

于 2015-09-30T14:19:29.617 回答
2

在 GitHub 的较新更新中,不允许应用程序直接访问您的帐户存储库。为了克服这个问题,您必须从“设置 > 开发人员 > 创建具有存储库权限的令牌”创建一个令牌,并在 Eclipse 或任何其他应用程序中使用它而不是您的密码。这将起作用。以上都是更新前的回答,不能解决问题。

有关更详细的指南,您可以参考此视频(不是我的):https ://www.youtube.com/watch?v=8x0ywtCOzxo

于 2021-08-19T07:15:32.837 回答
2

在最新的 github 更新后,您无法使用密码访问。而是使用 2FA 或生成令牌并将其放在密码字段中。按照下面的链接。

生成令牌

于 2021-08-14T18:40:53.520 回答
2

我使用 PATs(个人访问令牌)解决了这个问题。您可以将 PAT 与用户名而不是密码结合使用。

遵循这个 github 指南: https ://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token

在使用 GitHub API 或命令行时,个人访问令牌 (PAT) 是使用密码对 GitHub 进行身份验证的替代方法。

如果要使用 PAT 访问使用 SAML SSO 的组织所拥有的资源,则必须授权 PAT。有关更多信息,请参阅“关于使用 SAML 单点登录的身份验证”和“授权个人访问令牌以用于 SAML 单点登录”。

于 2021-08-16T13:23:39.247 回答
1

对于想知道如何为 Bitbucket repo + eclipse IDE 解决此问题的人

转到Preferences->Git然后更改Http ClientJava built-in HTTP

这为我解决了这个问题。

于 2021-11-05T11:23:09.447 回答
1

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

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

  4. 填写身份验证部分

  5. 进行试运行以进行测试

这应该够了吧。

于 2017-02-22T08:01:16.297 回答
0

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

  1. 在 Eclipse 中右键单击您的项目 --> 团队 --> 远程 --> 配置推送到上游
  2. 在 URI 旁边单击“更改”
  3. 选择协议 ssh
  4. 在 Authentication --> User insert 下git(如果您在此处使用默认用户名,似乎 eclipse / git 会自动搜索您的 id_rsa 密钥文件 - 我尝试添加我的真实用户名,但从未奏效)
  5. 完成并保存并推送
于 2019-07-16T10:27:48.720 回答
0

我在推送到 GitLab 存储库时遇到了这个错误,username我使用的没有权限推送到分支的存储库。

将权限级别从 更改reportermaster解决问题。

于 2017-08-11T13:58:28.467 回答
0

如果您在使用 Git 时遇到 git-receive-pack not allowed 错误,很可能是您的配置问题。在我的情况下,我已经使用 https 克隆了存储库(这需要身份验证)。但是,推送失败并出现上述错误。这是因为我只被允许通过 SSH 推送。因此,一旦我更改了结帐配置中的协议,一切就又好了。

由于我使用 Eclipse(和 eGit),因此知道 Git 克隆项目的配置设置可以通过项目的上下文菜单(右键单击)并选择 Team、Remote 和“Configure Fetch”来访问可能会很方便从上游“或配置推送到上游”,如适用。

希望这可以帮助!

于 2017-06-15T12:02:28.057 回答
0

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

于 2017-04-10T13:42:59.813 回答
0

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

于 2020-06-13T08:00:56.597 回答
0

纠结了很久,终于找到了答案。在密码部分,我们不应该输入 GitHub 登录密码,而是必须输入个人访问令牌。以下链接显示了如何创建个人访问令牌:https ://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access -令牌

于 2021-08-16T00:24:23.667 回答
0

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

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

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

点击“创建”按钮

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

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

删除保存的 Bitbucket 登录。

现在转到 Eclipse 并尝试再次提交和推送

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

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

在此处输入图像描述

于 2021-05-18T07:51:27.643 回答
0

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

在我的情况下,这是我的错误,通过创建一个新的令牌,在创建个人访问令牌时检查所有权限/复选框,它工作正常。

于 2021-03-16T09:06:33.977 回答
0

尝试这个

此错误是因为升级。所以你需要去

设置 > 开发人员设置 > 个人访问令牌 > 生成令牌

  1. 选择第一个选项并单击生成
  2. 使用这个生成的令牌作为 git 的密码

https://www.youtube.com/watch?v=rLEYw1caoBQ

于 2021-08-20T17:38:17.020 回答
-1

非常基本,但它发生在我身上:我没有验证我的电子邮件。检查您的电子邮件,按“验证电子邮件”按钮,然后再次尝试推送。

于 2020-07-07T09:41:14.123 回答
-1

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

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

于 2021-07-28T08:00:34.160 回答
-1

简单的答案是 - 您没有尝试推送的 repo 的写入权限。

于 2021-05-13T06:44:00.603 回答