我分叉了一个私有存储库,我被邀请进行协作,但每次尝试使用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
以下是我尝试过的一些没有成功的事情:
download ZIP
按钮访问repo URL并通过浏览器下载其内容。 git clone
和git push
的用户名和密码才能确认这一点。事实上,我可以在我的帐户中克隆并推送其他(公共)存储库。我通过终端在mac上运行git 2.10,正如我所提到的,我对HTTPS的解决方法不感兴趣(例如:SSH或GitHub桌面)。
为什么会发生这种情况?
答案 0 :(得分:17)
所有存储库(公共和私有)都可以使用
https://
克隆URL。
但是,由于您尝试访问私有存储库,因此需要进行身份验证。一种方法是在地址上附加用户名和密码,如下所示:
git clone https://username:password@github.com/usernamex/privat-repo.git
但same page读到:
如果启用了双因素身份验证,则必须创建个人访问令牌,以便在使用HTTPS URL在命令行上对GitHub进行身份验证时用作密码。
如果您启用了2FA,请检查this page以了解生成个人访问令牌的步骤。请记住,您应该检查个人令牌的完整repo
范围(如下所示)。
答案 1 :(得分:0)
如果您尝试从您获得授权的帐户以外的帐户(如果它是其他人的存储库)克隆存储库并且它来自 https url,请更改 https://
http://
的克隆命令部分。 Bash 会自动将请求改回 https,就像魔术一样,repo 将成功克隆。我在 Windows 上遇到了这个问题(通过 git Windows 安装附带的 mingw64 git bash 终端/cli。)
我尝试通过 https url 进行克隆并不断收到此响应:
$ 致命:未找到存储库“https://github.com/random-user/random-repo.git/”
我尝试了上述所有建议,但没有任何效果。最后,我尝试从 url 中删除“s”,得到以下响应:
<块引用>$ git clone http://github.com/random-user/random-repo.git 克隆到“RomanianCoderExamples”... 警告:重定向到 https://github.com/random-user/random-repo.git/ 远程:枚举对象:175,完成。
顺便说一下,上面的链接是自动添加的,几乎可以肯定不起作用。如果他们这样做,有人真的需要重新考虑他们的命名方案
答案 2 :(得分:0)
如果给定的 URL 是正确的,还应该调查这一点,它可能与一些已经保存在系统上的 git 凭据有关:
答案 3 :(得分:0)
虽然这可能不适用于您的特定实例 - 这可能会帮助遇到相同问题的另一个人。
仔细检查您当前在终端中的位置。如果您在尝试克隆操作之前一直在设置和删除文件,那么您可能不小心将当前位置目录移动到垃圾箱。终端不会立即显示此信息,但是如果您在文件层次结构中向上跳一级(通过 'cd ..' 命令),那么您可能会看到您突然位于 '.Trash'
这种情况下的解决方案是导航回干净的工作文件夹并重试 git clone 命令。