我正在浏览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地址。


当前回答

我刚在Windows 10上安装git并第一次运行它时遇到了同样的问题。重新启动bash窗口就解决了这个问题。

其他回答

有些可疑的事情正在发生。可能是一个不一致的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历史文件中工作,这可能是原始错误/恶意注入丢失的数据。

上传项目到github

git init
echo . > .gitignore
git commit -m "commit"
git remote add origin "https://github.com/anmolmishra99/Delhi-Flask-WebApp.git"
git remote -v
git pull origin master 
git push origin master

这个问题仍然存在,即使修复了大多数好评的答案。

更具体地说,我粘贴的链接没有“Ctrl + v”,但它仍然给出致命的:协议“https”不支持。

但如果你在Windows或谷歌搜索栏中复制这条消息,你会发现实际的消息是致命的:协议“##https”不受支持,其中“#”代表这个字符。正如您所看到的,这两个字符还没有被删除。

我在IntelliJ IDEA Community Edition 2019.2.3上工作,下面的修复涉及到这个工具,但答案是这2个字符仍然存在,需要从链接中删除。

IntelliJ修复

进入顶部栏,选择VCS -> Git -> Remotes…并点击。

现在它会打开连接这个的东西

你可以看到那两个无法识别的字符。我们必须移除它们。要么点击编辑图标并删除这两个字符,要么删除链接并添加一个新的。

确保你有”。项目文件夹中的Git文件夹。

现在应该是这样。点击“Ok”,现在你可以把文件推送到git存储库中了。

从普通记事本复制:

git clone https://github.com/./Spoon-Knife.git

然后在cmd中粘贴。

我尝试了很多方法来解决这个问题。但是我一次又一次的失败。然后我这样做了:

打开Git Bash >,到你的目录>,粘贴Git克隆https://shahadat@bitbucket.org/*******.git后,将显示一个命令提示符,提供登录凭据。提供凭证并克隆您的项目。