ChatGPT解决这个技术问题 Extra ChatGPT

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

我从网页复制并粘贴了一个 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'
您还可以从存储库视图 here 底部获取(正确的)URL。
@poke URL 是正确的。我不明白你想告诉我什么。
您可以从那里复制/粘贴它。它是存储库查看器生成的 URL,而不是在某些 wiki 中手动插入的 URL,因此它可能更正确。
这发生在我使用 msys-git 并尝试粘贴(使用 ctrl-v 和 ctrl-shift-v)之前,然后才意识到它们不是有效的键盘快捷键。重做命令并使用右键单击->粘贴似乎可以工作。
对我来说,编辑协议的开头并重新输入相同的内容来修复它。可能是一些看不见的 utf 字符弄乱了东西。

g
guettli

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

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

简短回答:删除此字符并进入真实空间后,它起作用了!

对于喜欢细节的人:我看到了两种显示 ascii 与特殊 unicode 字符的方法

方式1:Python

这是真正的线路:

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

方式2:少

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

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


很好的发现!原因可能是那里的那个图标。
我花了 3 个小时寻找 SSH / 密钥 / 连接 / 向 Gitlab 提交密钥的问题,只是因为我收到了一条 publickey denied 消息。 :/ 然后我切换到 https 并收到“不要处理”消息,这让我知道了。所有这些麻烦都归功于 Unicode space-look-alike。非常非常感谢@guettli 和 Google/SO 组合让我来到这里。
谢谢你。我看到了两种解决方法:git 可以去除那些特殊字符或外壳(我使用 bash)。我浪费了时间,你浪费了时间....如果你总结一下,我想这可能是人类多年的时间......浪费了。这是可悲的。
同样在这里 - 将链接从 github 复制到 Windows GIT shell
@CiroSantilli乌坎事件2016六四事件法轮功 谢谢! xsel 输出剪贴板内容,hd 进行十六进制转储。好的。
F
Felipe Belluco

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


J
J.Hpour

我只是在 cloneurl 之间添加了 5 个“SPACE”:

  git clone     ​https://<PATH>/<TO>/<GIT_REPO>.git

它有效!


@guettli 仅在克隆和 http(s) 之间添加 5 个空格时才有效!当我阅读 this answer 时,我尝试添加一些空间,因为我很着急,无法使用 this 解决方案。这是偶然的,我不知道它为什么会起作用!
R
Rajan

摘要:在命令行中键入 url 而不是复制粘贴。它对我有用。


从上面的答案总结:克隆和 http://... 之间的字符看起来像一个空格,但它是一个特殊的 Unicode 字符!去掉这个空字符,进入一个真实的空间后,就成功了! t.txt 的内容仅适用于对“为什么”感兴趣的人,而不仅仅是对“作品”感兴趣的人。
这已经在其他几个答案(包括接受的答案)中提到。
P
Paritosh Mahajan

主要是由于在终端中点击“Ctrl+V”或“Ctrl+Shift+V”时会出现一些不可见的 unicode 字符。不要复制和粘贴整个命令。相反,键入 git clone,然后使用右键单击 + 粘贴复制并粘贴 url。


M
Mostafa Norzade

我的解决方案:

类型: git clone 。复制存储库 url 并将其粘贴到 git clone 之后。将光标移动到 git clone 和 https://... 之间的位置。如果 git clone 和 https://... 之间有空格,请删除空格,直到 git clonehttps://... 重新添加空格并按 Enter。


令人惊讶的是,即使您不重新添加空间,它也能正常工作
m
mhn

我在 URL 中使用了双引号,它起作用了。所以像

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

作品..单引号没有帮助。它必须是双引号。


F
Fatihd

解决方案非常简单:

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

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

3-将路径粘贴到命令行

而已。


Z
Zovfreullia

您还可以使用文本编辑器:

在文本编辑器中粘贴 URL

复制刚刚从文本编辑器粘贴的 URL

将其粘贴到命令行中


我想简单的退格键也有帮助
R
Reezoo

https://i.stack.imgur.com/5Ejus.png


该网址不在我的地址栏中。它是 wiki 中的纯文本。
没有..在 git bash 中粘贴 URL 时。假设在 git clone {your repo URL} 之后。它在克隆和你的 repo URL 之间需要额外的字符。您可以通过在您的 repo url 之前删除或点击退格键来检查
A
Arsen

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


为什么要写这个答案?您认为当前的答案是否缺少某些内容?
嗨 guettli,您确定仅重写空格字符会在所有可能的情况下解决上述问题吗?是否有可能不是在空白处而是在 url 文本中包含的符号中存在冗余/不正确的内容?
当然,特殊的 unicode 字符可以在任何地方。我在我的答案中添加了第二种方法来“显示 ascii 与特殊 unicode 字符”。
S
Suraj Vaishnav

在 Android Studio 中:

我删除了 git clone 并只保留了 url 并且它有效!


v
vidur punj

克隆如下:

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

完美运行,或者你可以只 git clone url。我正在使用 os windows 10 和 gitbash。


它犯了完全相同的错误。接受的答案对我有用。所以解决了
J
Jeremy

如果您使用的是 Windows,请使用“url”语音标记来打开和关闭您的 url,例如 git clone 'your-url-here'


J
J.Hpour

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

因此,您要么粘贴完整的 git clone http://<URL>.git,要么只删除 git 存储库 URL 之前的附加字母。


“额外的 h”是什么意思?
Y
Yusuf Khan

在 Visual Studio 代码选项 git:clone 中,我尝试了所有操作,例如放 5 个退格键,删除特殊的 Unicode 字符!并且放置空间对我没有任何作用

解决方案对我有用

只需打开 git bash 并粘贴整个 git clone url 并完成,

似乎Visual Studio代码存在一些问题


b
beroe

这只是发生在我们身上,没有任何空格问题,将 https: 更改为 http: 修复了它......


很好,这对你有用。但我认为真正的问题是您通过按退格键删除的特殊空白字符。我不确定这是否真的是这个问题的有效答案。
我不这么认为。我从头开始输入了几次并得到了同样的错误。
并且您收到错误消息“git:致命:我不处理协议'http'”?
这很有趣,但我也有这个问题,我用这个解决方案修复了它,我很确定我没有任何特殊的空白字符
t
tejraj

与此问题相关的答案。错误 - 致命:我不处理协议“git clone https”我试图将 git 项目克隆到我的 Linux 系统中新安装的 VScode,我从位桶复制了整个 url,就像

git 克隆 https://abc@bitbucket.org/abcuser/myproject.git

但实际上它运行命令就像

git clone git clone https://abc@bitbucket.org/abcuser/myproject.git

在位桶中。
所以只需执行以下步骤:
1. 输入Ctr+p;这将打开命令框。输入并打开“克隆”
2. 现在只需将您的 git 存储库的 url 粘贴到此处。例如:https://abc@bitbucket.org/abcuser/myproject.git
3. 输入您的 git 密码的框将出现在屏幕上。在此处输入您的 git 密码。
4. 完成。


P
Prostil Hardi

看起来如果您复制粘贴存储库链接,您最终会遇到此问题。

我注意到了什么

如果您使用 GitHub 上的复制按钮,然后将 URL 粘贴到 GitBash(Windows) 中,则会引发此错误。

所以我认为这可能是GitHub复制按钮的问题


我没有从github复制它。我认为这是问题管理系统跟踪。
I
Inzimam Tariq IT

如果您使用 Git Extensions GUI 或 GitHub Desktop(意味着如果您使用任何 UI 软件而不是命令行工具)来克隆 repo,那么您只需复制和粘贴 URL,即 https://。 .. 因此,无需在 URL 前加上 git clone,因为该软件会自行处理。