git 克隆时出现 https 错误 - 严重:未找到存储库
git clone with https error - fatal: repository not found
我 fork 了一个 private 存储库,我被邀请参与协作,但每次我尝试 clone with HTTPS,我得到以下错误消息:
$ git clone https://github.com/usernamex/privat-repo.git
cloning into 'privat-repo'...
Username for 'https://github.com':usernamex
Password for 'https://usernamex@github.com':
remote: Repository not found.
fatal: repository 'https://github.com/usernamex/privat-repo.git/' not found
Note: 'usernamex' and 'privat-repo' are just examples
以下是我尝试过但没有成功的一些方法:
- 验证了 URL 的有效性 - 检查了拼写和大小写。我可以通过单击
download ZIP
按钮通过浏览器访问存储库 URL 并下载其内容。
- 要求所有者克隆我的叉子 - 他克隆我的叉子没有问题,但我做到了。
- 联系了 GitHub 支持...
- 根据 GitHub 支持,cleared cached credentials - 系统需要我的用户名和密码以及
git clone
和 git push
这一事实证实了这一点。事实上,我可以在我的帐户中克隆和推送其他 (public) 存储库。
- 阅读了 GitHub 的 HTTPS Cloning Errors 指南,但 "Using SSH instead" 除外,因为这并没有真正解决问题。
- 在 whosebug.com 中查看了类似问题 - 尝试了大多数建议的答案(见上文)。
我通过终端在 mac 上 运行 git 2.10,正如我提到的,我对 HTTPS 的解决方法不感兴趣(例如:SSH 或 GitHub 桌面)。
知道为什么会这样吗?
The https://
clone URLs are available on all repositories, public and private.
但是由于您正在尝试访问私有存储库,因此需要进行身份验证。一种方法是将用户名和密码附加到地址,如下所示:
git clone https://username:password@github.com/usernamex/privat-repo.git
但是 same page 显示:
If you have enabled two-factor authentication, or if you are accessing an organization that uses SAML single sign-on (SSO), you must authenticate with a personal access token instead of your username and password for GitHub.
如果您启用了 2FA,请检查 this page 以了解生成个人访问令牌的步骤。请记住,您应该检查个人令牌的完整 repo
范围(如下所示)。
如果您尝试从您获得授权的帐户以外的帐户克隆存储库(如果它是其他人的存储库)并且它来自 https url,请更改 https://
在你的克隆命令部分到 http://
。 Bash 会自动将请求改回 https,就像魔术一样,repo 将成功克隆。我在 windows 上遇到了这个问题(通过 git Windows 安装附带的 mingw64 git bash terminal/cli。)
我尝试通过 https url 克隆并不断收到此响应:
$ fatal: repository 'https://github.com/random-user/random-repo.git/' not found
我尝试了以上所有建议,但没有任何效果。最后,我尝试从 url 中删除 's',并得到以下响应:
$ git clone http://github.com/random-user/random-repo.git
Cloning into 'RomanianCoderExamples'...
warning: redirecting to https://github.com/random-user/random-repo.git/
remote: Enumerating objects: 175, done.
顺便说一句,上面的链接是自动添加的,几乎肯定不起作用。如果他们这样做,有人 真的 需要重新考虑他们的命名方案
如果给定的 URL 是正确的,也应该调查一下,它可能与一些已经保存在系统中的 git 凭据有关:
Git - remote: Repository not found
虽然这可能不适用于您的特定实例 - 这可能会帮助另一个 运行 遇到同样问题的人。
仔细检查您当前在终端中的位置。如果您在尝试克隆操作之前一直在设置和删除文件,您可能不小心将当前位置目录移到了垃圾箱。终端不会立即显示此信息,但是如果您在文件层次结构中向上跳一级(通过 'cd ..' 命令),那么您可能会看到您突然位于“.Trash”
这种情况下的解决方案是导航回干净的工作文件夹并重试 git 克隆命令。
使用 https
,您需要创建一个个人访问令牌 (PAT) 并每次都使用此令牌作为您的密码。不要将您的 Github 密码用于 2FA。
但是,由于这样做不合逻辑,最简单的方法是使用 ssh
而不是 https
根据 Github 文档生成您的 ssh 令牌并将其添加到您的帐户
https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
然后,在本地克隆 repo,
git clone git@github.com:USERNAME/REPO.git
请确保同时更新您的 .git/config
文件以匹配此 ssh url
[remote "origin"]
url = git@github.com:USERNAME/REPO.git
fetch = +refs/heads/*:refs/remotes/origin/*
以上的 None 对我有用。所做的是我创建了一个个人访问令牌。当系统提示我输入我粘贴到令牌中的用户名和密码时,我粘贴了令牌,然后它只克隆了存储库,瞧!
remote: Enumerating objects: 10642, done.
remote: Total 10642 (delta 0), reused 0 (delta 0), pack-reused 10642
Receiving objects: 100% (10642/10642), 510.06 MiB | 993.00 KiB/s, done.
Resolving deltas: 100% (7509/7509), done.
Updating files: 100% (2324/2324), done
在此之前,我收到了这条错误消息:
remote: Repository not found.
fatal: repository 'https://github.com/workrepo/repository_I_needed.git/' not found
我今天也遇到了 github 凭据的一些问题,因为 user/pass 身份验证似乎已被弃用:
Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
我最后添加了一个 new SSH key for github authentication。并且,重要说明:
不要使用 HTTPS 克隆:
git clone https://github.com/USERNAME/REPO.git
改为使用 SSH 克隆:
git clone git@github.com:USERNAME/REPO.git
在 .git/config
中不要使用 HTTPS 作为你的上游
[remote "origin"]
url = https://github.com/USERNAME/REPO.git
在 .git/config
中使用 SSH 作为上游
[remote "origin"]
url = git@github.com:USERNAME/REPO.git
确保您在生成个人访问令牌时选择了正确的范围,这节省了我的时间!
我 fork 了一个 private 存储库,我被邀请参与协作,但每次我尝试 clone with HTTPS,我得到以下错误消息:
$ git clone https://github.com/usernamex/privat-repo.git
cloning into 'privat-repo'...
Username for 'https://github.com':usernamex
Password for 'https://usernamex@github.com':
remote: Repository not found.
fatal: repository 'https://github.com/usernamex/privat-repo.git/' not found
Note: 'usernamex' and 'privat-repo' are just examples
以下是我尝试过但没有成功的一些方法:
- 验证了 URL 的有效性 - 检查了拼写和大小写。我可以通过单击
download ZIP
按钮通过浏览器访问存储库 URL 并下载其内容。 - 要求所有者克隆我的叉子 - 他克隆我的叉子没有问题,但我做到了。
- 联系了 GitHub 支持...
- 根据 GitHub 支持,cleared cached credentials - 系统需要我的用户名和密码以及
git clone
和git push
这一事实证实了这一点。事实上,我可以在我的帐户中克隆和推送其他 (public) 存储库。 - 阅读了 GitHub 的 HTTPS Cloning Errors 指南,但 "Using SSH instead" 除外,因为这并没有真正解决问题。
- 在 whosebug.com 中查看了类似问题 - 尝试了大多数建议的答案(见上文)。
我通过终端在 mac 上 运行 git 2.10,正如我提到的,我对 HTTPS 的解决方法不感兴趣(例如:SSH 或 GitHub 桌面)。
知道为什么会这样吗?
The
https://
clone URLs are available on all repositories, public and private.
但是由于您正在尝试访问私有存储库,因此需要进行身份验证。一种方法是将用户名和密码附加到地址,如下所示:
git clone https://username:password@github.com/usernamex/privat-repo.git
但是 same page 显示:
If you have enabled two-factor authentication, or if you are accessing an organization that uses SAML single sign-on (SSO), you must authenticate with a personal access token instead of your username and password for GitHub.
如果您启用了 2FA,请检查 this page 以了解生成个人访问令牌的步骤。请记住,您应该检查个人令牌的完整 repo
范围(如下所示)。
如果您尝试从您获得授权的帐户以外的帐户克隆存储库(如果它是其他人的存储库)并且它来自 https url,请更改 https://
在你的克隆命令部分到 http://
。 Bash 会自动将请求改回 https,就像魔术一样,repo 将成功克隆。我在 windows 上遇到了这个问题(通过 git Windows 安装附带的 mingw64 git bash terminal/cli。)
我尝试通过 https url 克隆并不断收到此响应:
$ fatal: repository 'https://github.com/random-user/random-repo.git/' not found
我尝试了以上所有建议,但没有任何效果。最后,我尝试从 url 中删除 's',并得到以下响应:
$ git clone http://github.com/random-user/random-repo.git Cloning into 'RomanianCoderExamples'... warning: redirecting to https://github.com/random-user/random-repo.git/ remote: Enumerating objects: 175, done.
顺便说一句,上面的链接是自动添加的,几乎肯定不起作用。如果他们这样做,有人 真的 需要重新考虑他们的命名方案
如果给定的 URL 是正确的,也应该调查一下,它可能与一些已经保存在系统中的 git 凭据有关:
Git - remote: Repository not found
虽然这可能不适用于您的特定实例 - 这可能会帮助另一个 运行 遇到同样问题的人。
仔细检查您当前在终端中的位置。如果您在尝试克隆操作之前一直在设置和删除文件,您可能不小心将当前位置目录移到了垃圾箱。终端不会立即显示此信息,但是如果您在文件层次结构中向上跳一级(通过 'cd ..' 命令),那么您可能会看到您突然位于“.Trash”
这种情况下的解决方案是导航回干净的工作文件夹并重试 git 克隆命令。
使用 https
,您需要创建一个个人访问令牌 (PAT) 并每次都使用此令牌作为您的密码。不要将您的 Github 密码用于 2FA。
但是,由于这样做不合逻辑,最简单的方法是使用 ssh
而不是 https
根据 Github 文档生成您的 ssh 令牌并将其添加到您的帐户 https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent 然后,在本地克隆 repo,
git clone git@github.com:USERNAME/REPO.git
请确保同时更新您的 .git/config
文件以匹配此 ssh url
[remote "origin"]
url = git@github.com:USERNAME/REPO.git
fetch = +refs/heads/*:refs/remotes/origin/*
None 对我有用。所做的是我创建了一个个人访问令牌。当系统提示我输入我粘贴到令牌中的用户名和密码时,我粘贴了令牌,然后它只克隆了存储库,瞧!
remote: Enumerating objects: 10642, done.
remote: Total 10642 (delta 0), reused 0 (delta 0), pack-reused 10642
Receiving objects: 100% (10642/10642), 510.06 MiB | 993.00 KiB/s, done.
Resolving deltas: 100% (7509/7509), done.
Updating files: 100% (2324/2324), done
在此之前,我收到了这条错误消息:
remote: Repository not found.
fatal: repository 'https://github.com/workrepo/repository_I_needed.git/' not found
我今天也遇到了 github 凭据的一些问题,因为 user/pass 身份验证似乎已被弃用:
Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
我最后添加了一个 new SSH key for github authentication。并且,重要说明:
不要使用 HTTPS 克隆:
git clone https://github.com/USERNAME/REPO.git
改为使用 SSH 克隆:
git clone git@github.com:USERNAME/REPO.git
在 .git/config
[remote "origin"]
url = https://github.com/USERNAME/REPO.git
在 .git/config
[remote "origin"]
url = git@github.com:USERNAME/REPO.git
确保您在生成个人访问令牌时选择了正确的范围,这节省了我的时间!