git:致命:我不处理协议'http'

gue*_*tli 299 git whitespace clone

我从网页上复制并粘贴了一个git clone命令:https://fedorahosted.org/ibus-typing-booster/

我懂了:

user@host> git clone ??http://git.fedorahosted.org/git/ibus-typing-booster.git

Cloning into 'ibus-typing-booster'...
fatal: I don't handle protocol '??http'
Run Code Online (Sandbox Code Playgroud)

gue*_*tli 615

我复制并粘贴了整条线git clone http://....

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

简短的回答:删除这个角色,并进入一个真实的空间,它的工作!

对于喜欢细节的人:我看到两种方式来揭示ascii vs special-unicode-characters

方式1:Python

这是真正的路线:

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

Way2:少了

vi t.txt # copy+paste the line
LESSCHARSET=ascii less vi.txt
Run Code Online (Sandbox Code Playgroud)

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

  • 很好找!原因可能是那里的那个图标. (8认同)
  • 我花了3个小时寻找SSH /密钥/连接/将密钥提交给Gitlab的问题只是因为我有一个公钥被拒绝的消息.:/然后我切换到https并得到了"请勿处理"的消息,这让我感到惊讶.所有这些麻烦都归功于Unicode空间外观.很多,非常感谢你@guettli和谷歌/ SO组合带领我来到这里. (5认同)
  • 同样在这里 - 从github复制链接到Windows GIT shell (5认同)
  • 谢谢.我看到了两种解决方法:git可以剥离那些特殊字符或shell(我使用bash).我浪费了时间,你浪费了时间......如果你总结一下,我想这可能是多年的人类时间......浪费了.这是可悲的. (3认同)

Fel*_*uco 55

使用退格键来删除任何有间git cloneurl,然后使用空格键在它们之间增加一个干净的空间.就那么简单.


J.H*_*our 23

我只是增加5之间的"空间" S cloneurl:

  git clone     ?https://<PATH>/<TO>/<GIT_REPO>.git
Run Code Online (Sandbox Code Playgroud)

它的工作原理!

  • 我很想知道为什么会这样. (2认同)

Raj*_*jan 15

摘要:键入URL而不是在命令行中粘贴它.它对我有用.

  • 上面答案总结:clone和http://...之间的字符看起来像一个空格,但它是一个特殊的Unicode字符!去掉这个空字符,进入一个真实的空间后,就成功了!t.txt 的内容仅供那些对“原因”感兴趣而不仅仅是对“作品”感兴趣的人使用。 (2认同)

小智 13

主要是因为你在终端上点击"Ctrl + V"或"Ctrl + Shift + V"时会出现一些看不见的unicode字符.不要复制和粘贴整个命令.相反,键入 git clone,然后使用右键单击+粘贴复制并粘贴URL .


mhn*_*mhn 11

我使用双引号作为URL并且它起作用.所以像

git clone "??http://git.fedorahosted.org/git/ibus-typing-booster.git"
Run Code Online (Sandbox Code Playgroud)

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


Chr*_*llo 11

我的解决方案:

  1. 类型:git clone
  2. 复制存储库网址,并将其粘贴到之后git clone
  3. 将光标移动到位置之间git clonehttps://...
  4. 如果有删除之间的空间git clone,并https://...直到有git clonehttps://...
  5. 重新添加空间,然后按Enter


小智 5

解决方案很简单:

1-复制您的 git 路径。例如: http: //github.com/yourname/my-git-project.git

2-打开记事本并粘贴它。然后从记事本复制路径。

3-将路径粘贴到命令行

就是这样。