【问题标题】:Git Clone - Repository not foundGit 克隆 - 未找到存储库
【发布时间】:2014-09-20 08:56:17
【问题描述】:
git clone <url>

给出消息致命:找不到存储库'url'

我尝试了link 中的选项,但没有成功。

【问题讨论】:

  • 你的网址肯定是无效的..
  • 它是私人回购还是公共回购? - 如果是,请尝试使用 HTTPS 地址而不是 GIT 地址。 (我希望你没有像@JohnZwinck 所说的那样做......)
  • 如果 repo 是公开的,您能否编辑您的问题以添加相应的 url?
  • 嗨 Jubos,它是一个私人仓库,我确实有权访问该仓库。
  • 我也遇到过类似的情况。我用于私人存储库的 URL 是正确的。但我得到了同样的错误。经过大量挖掘,我发现在钥匙串中(我使用的是 Mac Yosemite),github.com 的条目有 github 的旧密码。我从钥匙串中删除了该条目,然后运行了 git clone 命令。它询问了我的 github 用户名/密码和克隆工作的wallah!

标签: git github


【解决方案1】:

正如其他人所说,如果网址错误,可能会发生错误。

但是,如果存储库是私有存储库并且您没有访问权限或凭据错误,也可能发生错误

代替

git clone https://github.com/NAME/repo.git

试试

git clone https://username:password@github.com/NAME/repo.git


你也可以使用

git clone https://username@github.com/NAME/repo.git

git 会提示输入密码(感谢leanne 在 cmets 中提供了这个提示)。

【讨论】:

  • 谢谢 - 这很有用。我只在我的一个系统上遇到了这个问题,但不知道为什么。使用第二种方法有效,但我很好奇为什么以及是否需要继续使用它?什么会导致第一个命令出现问题,而第二个命令没有?
  • 在 Mac OS X 上,您可以将用户名和密码存储在钥匙串中(例如 GitHub)。那么你不需要第二个命令。如果你没有这样的东西,你需要第二个命令。
  • @CCJ,是的:您可以在命令除了 :password 中输入所有内容,git 会提示输入密码。例如:git clone https://username@github.com/NAME/repo.git
  • 另外,如果您启用了 2-Factor 身份验证,您应该使用访问令牌而不是密码 - 请参阅:*.com/questions/21892226/…
【解决方案2】:

在 macOS 上,git 正在检索的钥匙串中缓存的凭据可能是错误的。 它可能是过时的密码或使用了错误的凭据。

更新存储在 OS X 钥匙串中的凭据

按照以下说明操作:

https://help.github.com/articles/updating-credentials-from-the-osx-keychain/

如果您想验证这是问题所在,您可以使用跟踪运行克隆。

$ GIT_CURL_VERBOSE=1 git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY

查找标题行“授权:基本 BASE64STRING”。
获取 base64 字符串并对其进行解码以检查使用的用户名:密码。

$ echo <the key> | base64 --decode

验证它是您希望使用的正确用户名密码。

【讨论】:

  • 我试试这个,它为我提供了我的 other 帐户的用户名/密码。我想我需要指定用户名...
  • 这个 GIT_CURL_VERBOSE=1 非常有用 - 谢谢!
  • 如果你发现你的用户名/密码不正确,如何让git使用另一个?
  • macos keychain 可以存储多个github登录。如果要指定哪一个,username@ 到 github url。示例:https://username@github.com/foo/bar.git 那么macos keychain会使用正确的登录密码。
【解决方案3】:

如果您在 Windows 上,存储库是私有的,并且曾经保存过不同或不再正确的凭据,您将无法访问该存储库。您将收到 not found 错误,而不会在 failed-credential-direction 中提示。要在 Windows 上重置凭据,请打开控制面板(Win+r 控制),选择用户帐户和凭据管理器。在 Windows 凭据(不是 Web 凭据!)中找到 git 帐户并删除此条目。

之后,克隆会弹出登录对话框,您可以再次设置这些。

用 git-bash 作为 shell 对此进行了测试

搜索

  • En:Win+s“凭据管理器”
  • NL: Win+s "Referentibeheer"
  • DE:Win+s “Anmelde Informationsverwaltung”

【讨论】:

  • 这解决了我的 Windows 问题。删除凭据并重新登录。
【解决方案4】:

如果您为您的 Github 帐户使用两因素授权 (2FA),那么只需使用 SSH 选项来克隆您的存储库:

【讨论】:

    【解决方案5】:

    很可能,您的网址无效。

    如果是http/https URL,您可以通过将URL 敲入浏览器来快速检查。如果这根本不显示任何内容,则表明该 URL 无效。

    我假设您说的是远程存储库。 URL 应该看起来像这样:

    https://github.com/user/repo2.git if you're using HTTPS
    git@github.com:user/repo2.git if you're using SSH
    

    【讨论】:

    • 它在浏览器上正常显示,但在我进行克隆时无法正常工作
    【解决方案6】:

    我也遇到了同样的问题。我试图克隆私有的存储库,而我在 osx 中安装的 git 具有不允许我克隆存储库的钥匙串...

    我试过了

    git clone https://username:password@github.com/NAME/repo.git 
    

    但它不起作用,因为我的密码包含字段@。

    我刚刚跑了

    git credential-osxkeychain erase
    host=github.com
    protocol=https
    

    命令并按回车,它工作得非常好。实际上,您需要删除已存储在 osx 中的钥匙串。

    【讨论】:

      【解决方案7】:

      我遇到了同样的问题 (Repository not found),因为我最初使用错误的 GitHub 帐户登录。修复它:

      1. 从“开始”菜单打开控制面板。
      2. 选择用户帐户。
      3. 在左侧菜单中选择“管理您的凭据”。
      4. 删除与 Git 或 GitHub 相关的所有凭据。

      【讨论】:

      • 这解决了我的问题。我有多个 github 帐户,因此在 Windows 中,有时 git 凭据会为 Windows 凭据管理器中的另一个帐户缓存。清除缓存的帐户可以解决此问题。
      • 这个不正确的账号(缓存的)可能没有权限查看仓库,所以Github/Gitlab返回404 Not Found错误。
      • 404 而不是未经授权的错误。此错误消息具有误导性。谢谢你的帮助。它也适用于我:)
      【解决方案8】:

      对我来说

      git clone https://username@github.com/name/repo.git
      

      工作。

      我认为这主要是因为无法直接访问私有仓库。

      【讨论】:

        【解决方案9】:

        什么解决了我的问题,因为我遇到了“redirect/sign_in URL”或“repository not found”错误

        MacOS 用户:

        1. 打开聚光灯(命令空间)
        2. 键入钥匙串(打开钥匙串访问.app)
        3. 搜索 repo 域(GitHub、GitLab 等)
        4. 删除与该域相关的所有键
        5. 尝试再次克隆(使用有效凭据)

        Windows 用户应该尝试类似的步骤,但 Keychain 将是 Microsoft 的凭据管理器,或者是 Windows 凭据,具体取决于您的操作系统版本。如果是这种情况,请确保清除 Web 和 Windows 凭据。

        【讨论】:

        • 这可能已经解决了我的问题,但并不完全确定,因为它起初似乎没有效果,但后来没有进行其他更改,它又开始工作了。
        • 如果您有两个或多个包含名称 gitlab 的钥匙链并且您无法一次性删除所有内容,请尝试一一删除。(一次删除一个并关闭钥匙串部分并重复下一个)
        • 使用 MacOS Big Sur,删除 Key Chain 上的 github 条目解决了问题。
        • 工作就像一个魅力。谢谢。
        【解决方案10】:

        如果你的 git repo 是私有的,试试这个

        git clone https://<USERNAME>:<PASSWORD>@github.com/<USERNAME>/<REPO_NAME>.git
        

        注意:如果您在密码中使用 @ 符号,请使用 '%40' 代替 '@'

        别的用这个

        git clone https://github.com/<USERNAME>/<REPO_NAME>.git
        

        ----更新:----

        现在不推荐在克隆 URL 中使用密码,而是使用如下所示的个人访问令牌

        设置 -> 开发者设置 -> 个人访问令牌 -> 生成新令牌

        git clone https://<Token>@github.com/<USERNAME>/<REPO_NAME>.git
        

        【讨论】:

        • 不错的方法,可以这样做,但可能会导致凭据窃取。
        • 最后一条命令的&lt;Token&gt;后面应该有@
        【解决方案11】:

        git clone https://username@github.com/User/Repository.git 将提示输入密码然后克隆。

        【讨论】:

          【解决方案12】:

          在 github 上,您可以拥有主存储库和子文件夹。确保您使用的 URL 是主存储库的 URL,而不是文件夹的 URL。前者会成功,后者会产生未找到存储库的错误。如果您怀疑自己在子文件夹中,请向上导航存储库链,直到找到实际指定 https URL 的页面并使用它。

          【讨论】:

          • 这是我的问题。如果您的级别正确,那么您应该会在 github 页面上看到 URL 的 Clone or Download 按钮。如果它不存在,则无法克隆它。
          【解决方案13】:

          对我来说,出现问题是因为我为 gitlab 保存了旧的用户名/密码设置,因此我需要删除这些凭据。我在我的 Mac 上运行以下命令:

          sudo su
          git config --system --unset credential.helper
          

          然后再次克隆,输入用户名和密码。一切都很好。

          【讨论】:

            【解决方案14】:

            这是因为我的其他用户的旧会话状态仍然存在:以下是 Windows 用户的快速解决方案,

            从开始菜单打开控制面板 选择用户帐户 在左侧菜单中选择“管理您的凭据” 删除与 Git 或 GitHub 相关的所有凭据

            一旦我这样做了,它就开始为我工作了。

            【讨论】:

              【解决方案15】:

              第 1 步: 在您的 Github 帐户中,转到 设置 Account Settings
              然后,开发者设置 Developer Settings
              然后个人访问令牌 PAT Settings
              然后,Generate New Token(输入您的密码) Generate Token

              现在填写表单(存储库的范围/访问权限)并单击生成令牌并复制生成的令牌(复制并保存它,它只会第一次显示,否则你有再次生成它),它将类似于 ghp_sFhFsSHhTzMDreGRLjmks4TzuzgthdvfsrtaCopy Token

              第 2 步: 现在,复制资源指示器:Resource Indicator

              例如:https://github.com/AnwarXahid/sso-client-java-servlet.git 它是由https://github.com/**YOURUSERNAME**/YOUR REPO NAME.git

              生成的

              最后,打开终端/git bash 并在资源指示前添加 PAT 令牌:
              例如:https://ghp_sFhFsSHhTzMDreGRLjmks4Tzuzgthdvfsrta@github.com/AnwarXahid/sso-client-java-servlet.git
              基本上,它是由 https://YOUR TOKEN@github.com/YOUR USERNAME/YOUR REPO NAME.git

              生成的

              所以,最后的命令是这样的:git clone https://YOUR TOKEN@github.com/YOUR USERNAME /您的仓库名称.git

              ENTER,您的 repo 将被克隆到本地!

              【讨论】:

              • 解释您的答案适用于哪些情况会很有帮助。例如。如果 URL 完全错误,您所描述的内容将无济于事。
              • @JanWilamowski 生成个人访问令牌 (PAT) 时,默认情况下 GitHub 假定该令牌将仅用于公共存储库(因为默认情况下不选择访问选项)。在这种情况下,如果您使用此令牌克隆私有存储库,则必须收到错误消息。我的解决方案特别适用于这种情况。
              • 这是一个很好的解释,当你试图访问私人仓库时,谢谢
              【解决方案16】:

              在我enabled GitHub 2FA 之后,这个问题开始出现在我的终端上。

              现在,每当我克隆一个私有存储库时,我都会遇到这个问题。这个错误:

              远程:未找到存储库。
              致命:未找到存储库“https://github.com/kmario23/repo-name.git/

              太尴尬了。当然,我有这个 repo,我是它的所有者。

              无论如何,现在看来解决方法是在克隆私有仓库时,我们必须再输入一次 GitHub username。下面是一个例子:

                                           add your username
                                              |-------|
              $ git clone --recursive https://kmario23@github.com/kmario23/repo-name.git
              

              【讨论】:

                【解决方案17】:

                第 1 步: 从 HTTPS 复制链接

                第2步:在本地仓库中做

                git remote rm origin
                

                第 3 步: 将复制的 url 中的 github.com 替换为 username.password@github.com

                第 4 步:

                git remote add origin url
                

                【讨论】:

                  【解决方案18】:

                  我是一名 devops 工程师,这发生在私有存储库中。由于我管理多个 Github 组织,因此我有几个不同的 SSH 密钥。要克服这个ERROR: Repository not found. fatal: Could not read from remote repository. 错误,您可以使用

                  export GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no -o User=git -i ~/.ssh/ssh_key_for_repo"
                  
                  git clone git@github.com:user/repo.git
                  

                  【讨论】:

                    【解决方案19】:

                    对我来说,它通过删除 credential.helper 配置并再次克隆存储库来工作

                    git config --global --unset credential.helper
                    git clone https://<repository>
                    

                    【讨论】:

                      【解决方案20】:
                      git clone https://<USERNAME>@github.com/<REPONAME>/repo.git
                      

                      这很好用。需要提供密码。

                      【讨论】:

                      • 永远不要向 git clone 命令添加密码,尤其是在 CI / CD 管道中使用它时。始终使用 ssh 身份验证并在您的 git hub 帐户设置中添加 SSH 密钥。以纯文本形式添加密码是非常不安全的。
                      【解决方案21】:

                      您可能需要在存储库目录中创建一个名为 git-daemon-export-ok 的空文件。

                      【讨论】:

                        【解决方案22】:

                        身份验证问题: 我使用 TortoiseGit GUI 工具,我需要告诉 tortoise 用户名和密码,以便它可以访问使用 Git/GitHub/Gitlab 代码库。 告诉它, rt 在任何文件夹内单击以获取 TortoiseGit 菜单。 此处 TortoseGit > 设置窗口 > 在左侧导航树中选择凭据 进入 网址:Git 网址 助手:如果您的 windows 凭据与 Git 的凭据相同,则选择 windows;如果它们不同,则选择“manager” 用户名;用户名 保存此设置并重试。系统将提示您输入密码,然后它就起作用了。

                        【讨论】:

                          【解决方案23】:

                          如果您使用 cygwin for git 并尝试从网络驱动器克隆 git 存储库,则需要添加 cygdrive 路径。

                          例如,如果您从 z:/ 克隆一个 git 存储库

                          $ git clone /cygdrive/z/[repo].git

                          【讨论】:

                            【解决方案24】:

                            可能您确实登录了另一个帐户,并且该帐户没有访问此 repo 的权限,如果您使用的是 mac os,请转到 Keychain Access,搜索 gitlab.com 并将其删除并尝试 git clone再次。

                            【讨论】:

                              【解决方案25】:

                              就我而言。存储库是私有的,我无法直接访问它。只有使用 Github 桌面应用来获取这个 repo。

                              【讨论】:

                                【解决方案26】:

                                您应该检查您是否有任何其他标记为“默认”的 github 帐户。当尝试克隆一个新的 repo 时,客户端(在我的情况下是 BitBucket)将尝试获取您设置为“默认”的凭据。只需将您的新凭据标记为“默认”,它将允许您克隆存储库,它对我有用。

                                【讨论】:

                                  【解决方案27】:

                                  此错误的另一个原因,如果您在 github 上,并尝试将部署密钥用于多个 repos,您会发现这不起作用。

                                  在这种情况下,您需要创建一个machine user,但是如果您不这样做并且尝试克隆除具有部署密钥的存储库之外的任何存储库,您将收到此错误。

                                  【讨论】:

                                    【解决方案28】:

                                    我最近遇到了这个问题,经过大量调试后,我意识到我从密码生成器获得的密码中有一个“&”,GitHub 接受了,但 Visual Studio Code 不喜欢我尝试克隆回购。不确定是哪个系统引发了错误,但它让我意识到您的用户名或密码中的阶段字符也可能导致此问题。

                                    【讨论】:

                                      【解决方案29】:

                                      我在 Windows 中遇到了同样的问题,当时我尝试在 Git Bash 终端的命令行上使用 Git,同时还安装了 GitHub 桌面。所以,我使用桌面应用程序没有任何问题,但尝试在 Git Bash 中克隆失败。有很多关于删除任何以前的 Git 和 GitHub 相关凭据的建议,但这会弄乱 GitHub 桌面,因此如果您想同时使用 GUI 和命令行方法,这不是一个好的解决方案。 令人惊讶的是,当我只使用 Windows 命令提示符界面 (Git CMD) 而不是 Git Bash 时,它就开始工作了。因此,看起来 Git Bash 与 GitHub 桌面配置的协作存在问题,但 Windows 命令提示符可以正常工作。

                                      【讨论】:

                                        【解决方案30】:

                                        我今天(2021 年 12 月 25 日)遇到了同样的错误。该回购是一个私人回购。我只是在我的机器上安装和配置了 Github CLI(运行 ubuntu 20.04 OS)。它克隆得很好。我用 HTTPS 推送。 以下是一些非常有用的链接:

                                        1. https://docs.github.com/en/get-started/getting-started-with-git/caching-your-github-credentials-in-git
                                        2. https://github.com/cli/cli#installation

                                        【讨论】:

                                        • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review