Git克隆-找不到存储库


98
git clone <url>

给出致命消息:找不到存储库“ URL”

我尝试了链接中的选项,但是没有用。


当然你的url必须无效..
G-纽瓦

2
是私人回购还是公共回购?-如果是,请尝试使用HTTPS地址而不是GIT地址。(我希望你没有按照@JohnZwinck所说的做...)
appostolis

如果回购是公开的,您可以编辑问题以添加相应的网址吗?
jub0bs 2014-09-20

嗨,Jubos,它是一个私人存储库,我确实可以访问该存储库。
2014年

23
我也遇到过类似的情况。我用于私人存储库的URL是正确的。但是我遇到了同样的错误。经过大量挖掘后,我发现在钥匙串中(我使用的是Mac Yosemite),github.com的条目具有github的旧密码。我从钥匙串中删除了条目,然后运行了git clone命令。它询问我的github用户名/密码和wallah该克隆是否有效!
Shirish Kumar

Answers:


28

您的网址很可能无效。

如果它是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

它是正确显示在browswer但是当我米服用克隆不工作
月光

319

如其他人所提到的,如果URL错误,则可能会发生错误。

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

代替

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在评论中提供了此提示)。


3
谢谢-这很有用。我仅在我的一个系统上遇到过此问题,但不知道为什么。使用第二种方法有效,但是我很好奇为什么以及是否需要继续使用它?第一个命令而不是第二个命令会引起什么问题?
列文

4
在Mac OS X上,您可以将用户名和密码存储在钥匙串中(例如GitHub)。然后,您不需要第二个命令。如果您没有这样的事情,则需要第二个命令。
克里斯蒂安·弗里斯

3
@CCJ,是的:您可以在命令中输入除以外的所有内容:password,并且git会提示您输入密码。例如:git clone https://username@github.com/NAME/repo.git
leanne

1
@ChristianFries,如果您可以更新答案以在Leanne的注释中包括非密码可见选项,以供将来的读者使用,那就太好了。
John Pavek

1
@JohnPavek:完成。
Christian Fries

45

在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

查找标题行“ Authorization:Basic BASE64STRING”。
使用base64字符串并对其进行解码,以检查使用了哪个username:password。

$ echo <the key> | base64 --decode

确认它是您期望使用的正确的用户名密码。


我尝试这样做,它为我的其他帐户提供了用户名/密码。我想我需要指定用户名...
Nicolas Miari

这个GIT_CURL_VERBOSE = 1非常有用-谢谢!
Mistertee

如果发现用户名/密码不正确,如何使git使用另一个?
toancaro

macos钥匙串可以存储多个github登录名。如果要指定哪个,username@请到github url。示例:https://username@github.com/foo/bar.gitmacOS钥匙串将使用正确的登录密码。
wisbucky

21

我也有同样的问题。我正在尝试克隆私有的存储库,并且我在osx中​​安装的git有钥匙串,这不允许我克隆存储库...

我试过了

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

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

我跑了

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

命令,然后按Enter键,效果就很好。实际上,您需要删除已经存储在osx中​​的钥匙串。


20

为了我

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

工作了。

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


20

Repository not found由于最初我使用错误的GitHub帐户登录,因此我遇到了同样的问题()。要解决这个问题:

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

1
这为我解决了问题。我有多个github帐户,因此在Windows中,有时git凭据会为Windows凭据管理器内的另一个帐户缓存。清除缓存的帐户可以解决此问题。
Grizzly Peak Software

这个不正确的帐户(已缓存的帐户)可能没有查看存储库的权限,因此Github / Gitlab返回404 Not Found错误。
mrdaliri '19

404,而不是未经授权的错误。此错误消息是令人误解的。谢谢你的帮助。它也对我
有用

18

是什么解决了我的问题,因为我遇到了“重定向/登录URL”或“找不到存储库”错误

MacOS用户:

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

Windows用户应尝试类似的步骤,但根据您的操作系统版本,“钥匙串”将改为Microsoft的Credentials Manager或Windows Credentials。在这种情况下,请确保同时清除Web和Windows凭据。


这可能已经解决了我的问题,不能完全确定,因为起初似乎没有效果,但是后来不做任何其他更改,一切都重新开始起作用。
patrick.elmquist

如果有两个或更多个键连锁包含名称gitlab,你是不是能够删除所有一气呵成然后尝试一个删除一个(删除一个在时间和关闭钥匙链段和重复的下一个)。
Jitendra

对我来说最好的答案。我通过使用此步骤进行了修复,谢谢
Hardik Joshi

16

如果您在Windows上,则存储库是私有的,并且曾经保存过不同或不再正确的凭据,那么您将无权访问该存储库。您将得到未找到的错误,而无需提示failed-credential-direction。为了在Windows上重置凭据,请打开“控制面板”(Win + r控件),选择“用户帐户和凭据管理器”。在Windows凭据(不是Web凭据!)中找到git帐户,然后删除该条目。

之后,克隆将弹出一个登录对话框,您将能够再次进行设置。

在VSCode中使用git-bash作为外壳进行了测试


伟大,挽救了我的生命
汗法潘

传说救了我一命。
eli chen

9

在github上,您可以拥有主存储库和子文件夹。确保您使用的URL是主存储库的URL,而不是文件夹的URL。前者将成功,而后者将产生未找到存储库的错误。如果您不确定您是否在子文件夹中,请向上浏览存储库链,直到找到一个实际指定了https URL的页面并使用该页面。


1
这是我的问题。如果您拥有正确的级别,则应该Clone or Download在github页面上看到该URL的按钮。如果不存在,则无法克隆。
斯蒂芬·霍斯金


7

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


5

之所以发生这种情况,是因为我保留了其他用户的旧会话状态:以下是Windows用户的快速解决方案,

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

一旦执行此操作,它便开始为我工作。


4

启用GitHub 2FA之后,此问题开始在我的终端上浮出水面。

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

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

好尴尬 当然,我有这个仓库,我是它的所有者。

无论如何,现在看来解决方法是,username在克隆私有存储库时,我们不得不再次进入GitHub 。下面是一个示例:

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

2
解决了我的问题。
谢谢


2

如果您的git repo是私人的,请尝试这个

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

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

否则用这个

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

0

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


0

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

例如,如果您要从z:/克隆git repo

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


0

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


0

我是一名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

0

可能您确实登录了另一个帐户,并且该帐户没有对此仓库的访问权限,如果您使用的是Mac OS,请转到“钥匙串访问”,搜索gitlab.com并将其删除,然后尝试再次进行git clone。


0

就我而言。存储库是私有的,我无法直接访问它。一种使用Github Desktop应用程序获取此仓库的方式。


0

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


0

发生此错误的另一个原因,如果您在github上,并尝试对多个存储库使用部署密钥,则将发现此方法不起作用。

在这种情况下,您需要创建一个计算机用户,但是如果您没有这样做,并且尝试克隆除具有部署密钥的存储库之外的任何存储库,则会收到此错误。


0

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

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

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


-3

打开凭据管理器->查找您的GIT devops配置文件->单击它->编辑->添加在DevOps中生成的用户和密码并保存。


1
OP从未声明使用DevOps。
内维尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.