我正在浏览Github的分叉指南:https://guides.github.com/activities/forking/
我正在尝试将存储库克隆到我的计算机上。但是,执行以下命令:
$ git clone https://github.com/./Spoon-Knife.git
Cloning into 'Spoon-Knife'...
fatal: protocol 'https' is not supported
也尝试了SSH:
$ git clone git@github.com:./Spoon-Knife.git
Cloning into 'Spoon-Knife'...
Warning: Permanently added the RSA host key for IP address '.' to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我需要改变我的计算机上的一些配置设置,或者这是一个问题与GitHub?
编辑:我已经用“”替换了我的用户名和IP地址。
有些可疑的事情正在发生。可能是一个不一致的github bug (a /B测试?)
我在windows10上,使用firefox。我刚刚复制了一个结帐URL,并获得了一个额外的字符。但这只是第一次。第二次它不在那里。我得看我的历史档案才知道!
以下是我的经历:
git clone --recursive https://github.com/amzeratul/halley-template
git clone --recursive http://github.com/amzeratul/halley-template
git clone --recursive github.com/amzeratul/halley-template
git clone --recursive https://github.com/amzeratul/halley-template
历史命令不显示额外的字符。就像我复制粘贴到终端时没有渲染一样。你可以看到我是如何试图删除's'然后是整个协议?当退格键比我预期的少移动一个字符时,我才被触发进一步调查!
我把我的shell历史文件保存在一个有十六进制编辑器的机器上,并且:
00000000 xx xx xx xx xx xx xx 0a 67 69 74 20 63 6c 6f 6e |xxxxxxx.git clon|
00000010 65 20 2d 2d 72 65 63 75 72 73 69 76 65 20 c2 96 |e --recursive ..|
00000020 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 |https://github.c|
00000030 6f 6d 2f 61 6d 7a 65 72 61 74 75 6c 2f 68 61 6c |om/amzeratul/hal|
00000040 6c 65 79 2d 74 65 6d 70 6c 61 74 65 0a 67 69 74 |ley-template.git|
00000050 20 2d 2d 68 65 6c 70 0a 67 69 74 20 75 70 64 61 | --help.git upda|
00000060 74 65 2d 67 69 74 2d 66 6f 72 2d 77 69 6e 64 6f |te-git-for-windo|
00000070 77 73 0a 67 69 74 20 63 6c 6f 6e 65 20 2d 2d 72 |ws.git clone --r|
00000080 65 63 75 72 73 69 76 65 20 c2 96 68 74 74 70 73 |ecursive ..https|
00000090 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 6d |://github.com/am|
000000a0 7a 65 72 61 74 75 6c 2f 68 61 6c 6c 65 79 2d 74 |zeratul/halley-t|
000000b0 65 6d 70 6c 61 74 65 0a 63 75 72 6c 20 2d 2d 76 |emplate.curl --v|
000000c0 65 72 73 69 6f 6e 0a 63 64 20 63 6f 64 65 0a 67 |ersion.cd code.g|
000000d0 69 74 20 63 6c 6f 6e 65 20 2d 2d 72 65 63 75 72 |it clone --recur|
000000e0 73 69 76 65 20 c2 96 68 74 74 70 73 3a 2f 2f 67 |sive ..https://g|
000000f0 69 74 68 75 62 2e 63 6f 6d 2f 61 6d 7a 65 72 61 |ithub.com/amzera|
00000100 74 75 6c 2f 68 61 6c 6c 65 79 2d 74 65 6d 70 6c |tul/halley-templ|
00000110 61 74 65 0a 67 69 74 20 63 6c 6f 6e 65 20 2d 2d |ate.git clone --|
00000120 72 65 63 75 72 73 69 76 65 20 c2 96 68 74 74 70 |recursive ..http|
00000130 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 6d |://github.com/am|
00000140 7a 65 72 61 74 75 6c 2f 68 61 6c 6c 65 79 2d 74 |zeratul/halley-t|
00000150 65 6d 70 6c 61 74 65 0a 67 69 74 20 63 6c 6f 6e |emplate.git clon|
00000160 65 20 2d 2d 72 65 63 75 72 73 69 76 65 20 67 69 |e --recursive gi|
00000170 74 68 75 62 2e 63 6f 6d 2f 61 6d 7a 65 72 61 74 |thub.com/amzerat|
00000180 75 6c 2f 68 61 6c 6c 65 79 2d 74 65 6d 70 6c 61 |ul/halley-templa|
00000190 74 65 0a 67 69 74 20 63 6c 6f 6e 65 20 2d 2d 72 |te.git clone --r|
000001a0 65 63 75 72 73 69 76 65 20 68 74 74 70 73 3a 2f |ecursive https:/|
000001b0 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 6d 7a 65 |/github.com/amze|
000001c0 72 61 74 75 6c 2f 68 61 6c 6c 65 79 2d 74 65 6d |ratul/halley-tem|
000001d0 70 6c 61 74 65 0a |plate.|
000001d6
在url之前插入了一个c2 96字符。不知道那是什么。它不是扩展的ASCII码(在那里它将是Â -),它被隐藏从几乎每一个地方,我粘贴,而它是在剪贴板上。我找到的最接近这个十六进制值将是https://www.fileformat.info/info/unicode/char/c298/index.htm,但我没有看到utf前缀的任何地方(再次,可能已经丢失)
这一切都可能是误导,因为我丢失了页面/剪贴板,并且只从保存的shell历史文件中工作,这可能是原始错误/恶意注入丢失的数据。
这个问题仍然存在,即使修复了大多数好评的答案。
更具体地说,我粘贴的链接没有“Ctrl + v”,但它仍然给出致命的:协议“https”不支持。
但如果你在Windows或谷歌搜索栏中复制这条消息,你会发现实际的消息是致命的:协议“##https”不受支持,其中“#”代表这个字符。正如您所看到的,这两个字符还没有被删除。
我在IntelliJ IDEA Community Edition 2019.2.3上工作,下面的修复涉及到这个工具,但答案是这2个字符仍然存在,需要从链接中删除。
IntelliJ修复
进入顶部栏,选择VCS -> Git -> Remotes…并点击。
现在它会打开连接这个的东西
你可以看到那两个无法识别的字符。我们必须移除它们。要么点击编辑图标并删除这两个字符,要么删除链接并添加一个新的。
确保你有”。项目文件夹中的Git文件夹。
现在应该是这样。点击“Ok”,现在你可以把文件推送到git存储库中了。