【问题标题】:Github Organization "remote: Repository not found." via Https CloneGithub 组织“远程:未找到存储库。”通过 Https 克隆
【发布时间】:2020-05-30 20:13:40
【问题描述】:

我作为个人使用 Github 已经有一段时间了。现在我需要创建一个组织并在组织中启动一个 repo。

所以,我以我自己的身份登录到 Github,创建了新组织。然后我创建了一个回购。查看 repo 我可以看到我是 repo 的贡献者。存储库是并且必须是私有的。

当我尝试克隆时:

$ git clone https://github.com/my-organization/my-repo.git my-repo-folder
Cloning into 'my-repo-folder'...
remote: Repository not found.
fatal: repository 'https://github.com/my-organization/my-repo.git/' not found

本地 git 会记住我的凭据,例如,如果我的个人 Github 存储库中有一个存储库,它是私有的,那么 git clone https://github.com/Webern/my-personal-private-repo.git 无需我重新输入我的 Github 用户名和密码即可工作。

该组织的情况如何?如何克隆我新成立的组织私人仓库?

【问题讨论】:

  • repo 是空的吗?我记得过去尝试克隆空存储库时遇到问题,但诚然已经有一段时间了。
  • 不,它不是空的,因为我使用自述文件和 .gitignore 对其进行了初始化。
  • 您确定您正确复制/粘贴了遥控器吗?只是为了好玩,您是否尝试过通过 ssh 进行检查?
  • 好的,所以克隆 确实 使用 SSH 工作。然而 SSH 是一种痛苦,我仍然想了解它不适用于 https 的原因。 https 克隆 url 直接复制到剪贴板,所以我看不出它怎么可能不正确。
  • 让我们深入兔子洞:)。您可以在新克隆中更改origin 的遥控器并执行git fetch 吗?我从来没有处理过 https 上的私人回购,所以现在只是试图戳一下。

标签: git github


【解决方案1】:

最终我相信这个问题与我的 Mac 钥匙串中的凭据缓存有关。解决问题的完整步骤列表如下,但我认为关键步骤是使用 Mac OS 的 Keychain Access 实用程序删除所有 Github 凭据。

将用户名和密码添加到 https URL 确实有效,但永久使用似乎不是一个好主意。

MyMac:~ mjb$ git clone https://MyGithubUsername:MyGithubPassword@github.com/my-organization/my-repo.git
MyMac:~ mjb$ cd my-repo
MyMac:my-repo mjb$ git remote set-url origin https://github.com/my-organization/my-repo.git

在改回 URL 使其不包含我的用户名和密码后,我仍然无法连接到远程。

MyMac:my-repo mjb$ git push origin --all
remote: Repository not found.

现在我用 git config 做了一堆乱七八糟的操作,我认为这是不必要的。

MyMac:my-repo mjb$ git config --global user.name MyGithubUsername

MyMac:my-repo mjb$ git --version
git version 2.15.0

MyMac:my-repo mjb$ git config --global credential.helper manager
MyMac:my-repo mjb$ git push origin --all
remote: Repository not found.
fatal: repository 'https://github.com/my-organization/my-repo.git/' not found
MyMac:my-repo mjb$ git config --global --unset credential.helper
MyMac:my-repo mjb$ git push origin --all
remote: Repository not found.
fatal: repository 'https://github.com/my-organization/my-repo.git/' not found

现在我在我的 Mac 上转到实用程序 -> 钥匙串访问 我删除了与 Github 相关的所有凭据
奇怪的是它们是正确的,当我再次输入我的用户名和密码时,我输入了相同的用户名和密码。

MyMac:my-repo mjb$ git push origin --all
Username for 'https://github.com': MyGithubUsername
Password for 'https://MyGithubUsername@github.com': MyGithubPassword
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 651 bytes | 651.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)

成功。

【讨论】:

  • 你拯救了我的一天。我将一个 repo 移到了我拥有的组织,但在使用 set-url 更新原始 URL 后,我无法推送到它。我所做的是使用git clone https://myusername@github.com/... 再次拉取回购,它提示输入密码并成功。我取消了拉取,删除了钥匙串中的其他凭据条目(新的login 除外),我终于能够再次使用 SourceTree 推送。谢谢!
【解决方案2】:

如果您为您的 GitHub 帐户启用了访问令牌,请确保在 开发者设置 -> 个人访问令牌 下勾选整个 repo 设置,如图所示@ 987654321@(第 7 步)。启用 repo 类别中的所有子选项是不够的。

这对我有用。无需在任何地方重置您的凭据。

我只启用了public_repo 选项,这足以克隆并推送到我的公共仓库,但不能推送到我什至担任管理员角色的组织中的私人仓库。

该错误非常神秘且具有误导性,尤其是当您确定拥有所有访问权限时。

【讨论】:

    【解决方案3】:

    我的嫌疑人

    • 您的私人存储库中可能有额外的安全层,请确认您没有双向身份验证或其他任何东西。每当您尝试推送时,这都会使您的命中标记和错误或错误的登录凭据。

    但在您的情况下,您正在尝试克隆,因此请确保您使用的凭据(尤其是电子邮件)与您在组织存储库和个人存储库中使用的凭据相同,这可能是权限问题. Git 可能会假设您输入的凭据无权访问 repo。

    【讨论】:

      猜你喜欢
      • 2020-09-21
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      相关资源
      最近更新 更多