2015-05-27 81 views
194

我复制并从网页粘贴的混帐克隆命令:https://fedorahosted.org/ibus-typing-booster/混帐:致命的:我不处理协议“HTTP”

我得到这个:

[email protected]> git clone ​​http://git.fedorahosted.org/git/ibus-typing-booster.git 

Cloning into 'ibus-typing-booster'... 
fatal: I don't handle protocol '​​http' 
+0

您也可以从存储库视图[此处](https://git.fedorahosted.org/git/ibus-typing-booster.git)底部获取(正确)网址。 – poke

+0

@检查网址是否正确。我不明白你想告诉我什么。 – guettli

+0

您可以从那里复制/粘贴。这是由存储库查看器生成的URL,而不是某些wiki中手动插入的URL,因此它可能更正确。 – poke

回答

413

我复制并粘贴全行git clone http://...

git clonehttp://...之间的字符看起来像一个空格,但它是一个特殊Unicode字符

删除此字符后,输入一个真实的空间,它的工作!

我看到两种方法来揭示ASCII VS特殊的Unicode字符

WAY1:Python的

这里是真正的行:

vi t.txt # copy+paste the line 
python 
open('t.txt').read() 
git clone \xe2\x80\x8b\xe2\x80\x8bhttp://... 

Way2:

vi t.txt # copy+paste the line 
LESSCHARSET=ascii less vi.txt 

如果它看起来像git clone <E2><80><8B><E2><80><8B>http://,那么你复制+粘贴的特殊Unicode字符秒。

+6

很好找!原因可能是那里的那个偶像。 – poke

+4

我花了3个小时寻找SSH/keys/connection /向Gitlab提交密钥的问题,只是因为我有一个公钥被拒绝的消息。 :/然后我切换到https,并得到了“不处理”的消息,这给我提供了。所有这些麻烦都归功于Unicode空间看起来相似。很多非常感谢你@guettli和Google/SO组合让我在这里。 –

+3

谢谢。我看到了两种解决方法:git可以去掉这些特殊字符或shell(我使用bash)。我浪费了时间,浪费了时间......如果你总结这一点,我想这可能是人类多年的浪费......浪费了。这是可悲的。 – guettli

9

摘要:键入url而不是将其粘贴到命令行中。它为我工作。

+1

以上摘要答案:克隆与http://之间的字符看起来像一个空格,但它是一个特殊的Unicode字符!删除这个空字符并输入一个真实的空间后,它就起作用了! t.txt的内容仅适用于对“为什么”感兴趣的人,而不仅仅是“作品”中的人。 – guettli

3

你也可以用文本编辑器:

  • 在文本编辑器
  • 复制刚从文本编辑器中粘贴URL中的URL粘贴
  • 在命令行中贴吧
+2

我猜backspace简单命中也有帮助 – guettli

37

使用退格删除git cloneurl之间的任何内容,然后使用空格键在它们之间添加干净的空间。就那么简单。

+0

简单而可怕的方式 –

+0

@KathiravanNatarajan我很高兴它很有用。 –

6

我用双引号的网址,它的工作。所以像

git clone "​​http://git.fedorahosted.org/git/ibus-typing-booster.git" 

工程..单引号不帮助。它必须是双引号。

+0

它的工作原理即使我改变https为http。 – shannon

1

同样的问题发生在我身上的时候,我刚刚将url复制到剪贴板中,然后将其粘贴到终端中。重写整行没有复制过去选项解决了我的问题。

+0

你为什么写这个答案?你认为目前的答案是什么缺失? – guettli

+0

嗨guettli,你确定在所有可能的情况下只重写空格字符能够解决上述问题吗?是否有可能有东西冗余/不正确的不是在白色空间,但也包含在URL文本中的符号? – Arsen

+0

当然特殊的unicode字符可以在任何地方。我添加了第二种方法来“解释ascii vs特殊的unicode字符”到我的答案。 – guettli

1

请不要从剪贴板复制。 只需从浏览器的位置/地址栏复制网址即可。 enter image description here

+0

该网址不在我的地址栏中。这是维基中的纯文本。 – guettli

+0

no ..在git bash中粘贴URL。在git clone {你的repo URL}。之后取消,它在clone和你的repo URL之间需要额外的字符。您可以通过删除或点击退格前检查您的回购网址 –

0

我试图通过git explorer's Clone选项。它给了我这个问题。

我把它粘贴在Git bash CLI上,它工作正常。

1

clonning如下:

git clone https://github.com/zendframework/ZendSkeletonApplication.git 

给出了错误:

Cloning into 'ZendSkeletonApplication'... 
fatal: I don't handle protocol 'https' 

它改为:

git clone https://github.com/zendframework/ZendSkeletonApplication 

作品完美或者你可以混帐克隆的URL。 我使用操作系统的Windows 10和gitbash。

+0

这仍然错误为我 – Callat

+0

请分享您的git命令&错误。 –

+0

它做了完全相同的错误。接受的答案为我工作。所以它解决了 – Callat

1

请检查您粘贴的URL,克隆后需要额外的h。

因此,无论您是否粘贴完整的git克隆http://....git或只是删除git存储库URL之前的其他字母。

+0

你是什么意思与“额外的h”? – guettli