ChatGPT解决这个技术问题 Extra ChatGPT

git: fatal: I don't handle protocol 'http'

I copy and pasted an git clone command from a web page: https://fedorahosted.org/ibus-typing-booster/

I got this:

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'
You can also take the (correct) URLs from the bottom of the repository view here.
@poke the URL is correct. I don't understand what you want to tell me.
You can copy/paste it from there. It’s the URL generated by the repository viewer, and not a manually inserted one in some wiki, so it’s likely more correct.
This happened to me using msys-git and trying to paste (with ctrl-v and ctrl-shift-v), before realizing they were not valid keyboard shortcuts. Redoing the command and pasting with right-click->paste seemed to work.
for me editing start of the protocol and retyping the same fixed it. May be some invisible utf characters messed things.

g
guettli

I copied and pasted the whole line git clone http://....

The character between git clone and http://... looks like a space, but it is a special Unicode character!

Short answer: After removing this character, and entering a real space, it worked!

For people who love details: I see two ways to reveal ascii vs special-unicode-characters

Way1: Python

Here is the real line:

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

Way2: less

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

If it looks like git clone <E2><80><8B><E2><80><8B>http://, then you copy+pasted special-unicode-characters.


Nice find! The reason for that is probably that icon there.
I spent 3 hours looking for a problem with SSH / keys / connection / submitting the keys to Gitlab just because I had a publickey denied message. :/ Then I switched to https and got the "don't handle" message, which tipped me of. And all that trouble was thanks to Unicode space-look-alike. Many, many thanks to you @guettli and Google/SO combo that led me here.
Thank you. I see two ways to get work-arounds: git could strip those special characters or the shell (I use bash). I wasted time, you wasted time .... if you summarize this, I guess this could be years of human time ... wasted. It's sad.
same here - copying link from github into windows GIT shell
@CiroSantilli烏坎事件2016六四事件法轮功 thank you! xsel outputs the clipboard content, and hd does a hex dump. Nice.
F
Felipe Belluco

Use backspace to delete whatever there is between git clone and the url and then use spacebar to add a clean space between them. Simple as that.


J
J.Hpour

I simply added 5 "SPACE"s between clone and the url:

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

and it works!


@guettli It works just when adding 5 space between clone and http(s)! when I read this answer I try to add some space, because of I was in a hurry and I could not use this solution. It was accidentally and I don't know why it works!
R
Rajan

Summary: Type the url instead of copy pasting it in the commandline. It worked for me.


Summary from above answer: The character between clone and http://... looks like a space, but it is a special Unicode character! After removing this empty character, and entering a real space, it worked! The stuff with t.txt is just for people who are interested in the the "why" and not only in "works".
This was already mentioned in several other answers (including the accepted answer).
P
Paritosh Mahajan

Mostly it is due to some invisible unicode characters which can come if you hit "Ctrl+V" or "Ctrl+Shift+V" in the terminal. Don't copy and paste the whole command. Instead , type git clone and then copy and paste the url using Right Click + Paste.


M
Mostafa Norzade

My solution:

Type: git clone . Copy the repository url and paste it after of git clone . Move the cursor to position between git clone and https://... . Delete space if it had between git clone and https://... until have git clonehttps://... Re-add the space and press Enter.


surprisingly it works even if you do not re-add the space
m
mhn

I used double quotes for the URL and it worked. So something like

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

works.. single quotes dont help. It has to be double quotes.


F
Fatihd

The solution is very simple:

1- Copy your git path. forexample : http://github.com/yourname/my-git-project.git

2- Open notepad and Paste it. Then copy the path from notepad.

3- paste the path to command line

thats it.


Z
Zovfreullia

You can also use a text editor:

Paste the URL in the text editor

Copy the URL that was just pasted from the text editor

Paste it in the command line


I guess a simple hit on backspace does help, too
R
Reezoo

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


The url was not in my address bar. It was plain text in a wiki.
no.. when paste URL in git bash.Suppose after git clone {your repo URL}.it takes additional character between clone and your repo URL. which you can check by deleting or hitting backspace before your repo url
A
Arsen

The same issue happened with me when I have just copied the url into the clipboard and then pasted it into the terminal. Rewriting whole the line without copy-past option resolved my issue.


Why do you write this answer? Do you think the current answer is missing something?
Hi guettli, Are you sure that rewriting only the space character will resolve the mentioned issue in all possible cases? Is it possible to have something redundant/incorrect not in the white space but in the symbols included in url text as well?
of course special unicode characters can be anywhere. I added a second way to "reveal ascii vs special unicode characters" to my answer.
S
Suraj Vaishnav

In Android Studio:

I removed git clone and just retain the url only and it worked!!


v
vidur punj

clonning below :

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

gives error:

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

Modified it to:

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

works perfectly or you can just git clone the url. I am using os windows 10 and gitbash.


It did the exact same error. The accepted answer worked for me. So it is resolved
J
Jeremy

if you are using windows use 'url' speech marks to open and close your url eg git clone 'your-url-here'


J
J.Hpour

Please Check URL you have pasted and It takes additional h after clone.

So either you have paste full git clone http://<URL>.git or just remove additional letter before git repository URL.


What do you mean with "additional h"?
Y
Yusuf Khan

in visual studio code option git:clone i tried every thing e.g putting 5 backspace, deleting the special Unicode character! and putting space nothing works for me

solution works for me

simply open git bash and paste the whole git clone url and done,

it seems there is some issue with visual studio code


b
beroe

This just happened to us without any whitespace issues, and changing https: to http: fixed it...


Nice, that this works for your. But I think the real issue was the special whitespace character which you removed by hitting backspace. I am unsure if this is really a valid answer to this question.
I don't think so. I typed it from scratch several times and got the same error.
and you got the error message "git: fatal: I don't handle protocol 'http'"?
It's funny but I have this problem too and i fixed it with this solution and I am pretty sure I don't have any special whitespace characters
t
tejraj

Related answer with this question. Error - fatal: I don't handle protocol 'git clone https' I was trying to clone git project to my newly installed VScode in my Linux system, i was copied the entire url from bit bucket, which was like

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

But actually it running command like

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

in the bit bucket.
So Simply do the following steps :
1. Enter Ctr+p; this will open command box. Enter and open 'Clone'
2. Now only paste the url of your git reposiratory here. eg: https://abc@bitbucket.org/abcuser/myproject.git
3. After that box for enter your git password will appear on screen. Enter your git password here.
4. Done.


P
Prostil Hardi

Well looks like if you copy paste the repository link you end up with this issue.

What I have noticed it this

If you use the copy button on GitHub and then paste the URL in GitBash(Windows) it throws this error If you select the link and then paste then it works, or you could also just type the URL that works as well.

So I think it might be an issue with the GitHub copy button


I did not copy it from github. I think it was the issue management system trac.
I
Inzimam Tariq IT

If you are using Git Extensions GUI or GitHub Desktop (means if you're using any UI software and not command-line tool) to clone the repo then you have to copy and paste only the URL i.e. https://... So there is no need to have git clone before URL as That Software will do it itself.