git: fatale: non gestisco il protocollo 'http'


307

Copia e incolla un comando clone git da una pagina Web: https://fedorahosted.org/ibus-typing-booster/

Ho capito:

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'

Puoi anche prendere gli URL (corretti) dalla parte inferiore della vista del repository qui .
colpì

@poke l'URL è corretto. Non capisco cosa vuoi dirmi.
Guettli,

Puoi copiarlo / incollarlo da lì. È l'URL generato dal visualizzatore del repository e non inserito manualmente in alcune wiki, quindi è probabilmente più corretto.
colpì

15
Questo mi è successo usando msys-git e cercando di incollare (con ctrl-v e ctrl-shift-v), prima di rendermi conto che non erano scorciatoie da tastiera valide. Rifare il comando e incollare con il tasto destro del mouse-> incolla sembrava funzionare.
Casey Kuball,

1
per me la modifica dell'inizio del protocollo e la riscrittura dello stesso lo hanno corretto. Potrebbero esserci dei personaggi invisibili di utf.
Seenivasan,

Risposte:


631

Ho copiato e incollato l'intera linea git clone http://....

Il personaggio tra git clonee http://...sembra uno spazio, ma è un personaggio Unicode speciale !

Risposta breve: dopo aver rimosso questo personaggio ed entrare in uno spazio reale, ha funzionato!

Per le persone che amano i dettagli: vedo due modi per rivelare caratteri ASCII vs caratteri speciali unicode

Way1: Python

Ecco la vera linea:

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

Way2: meno

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

Se sembra git clone <E2><80><8B><E2><80><8B>http://, quindi copia + caratteri speciali unicode incollati.


8
Bella scoperta! La ragione di ciò è probabilmente quell'icona lì.
colpì

5
Ho trascorso 3 ore a cercare un problema con SSH / keys / connection / inviando le chiavi a Gitlab solo perché avevo negato un messaggio a una chiave pubblica. : / Poi sono passato a https e ho ricevuto il messaggio "non gestire", che mi ha dato la mancia. E tutto quel guaio era dovuto allo stile Unicode simile allo spazio. Molte, molte grazie a te @guettli e alla combinazione Google / SO che mi hanno portato qui.
LAFK dice di reintegrare Monica il

3
Grazie. Vedo due modi per aggirare il problema: git potrebbe rimuovere quei caratteri speciali o la shell (io uso bash). Ho perso tempo, hai perso tempo ... se lo riassumi, immagino che potrebbero essere anni di tempo umano ... sprecato. È triste.
Guettli,

5
stesso qui - copiando il collegamento da github nella shell GIT di Windows
ootwch il

1
@CiroSantilli 烏坎 事件 2016 六四 事件 法轮功 grazie! xselgenera il contenuto degli appunti ed hdesegue un dump esadecimale. Bello.
Guettli,

56

Utilizzare backspace per eliminare qualsiasi cosa ci sia tra git clonee urle quindi utilizzare la barra spaziatrice per aggiungere uno spazio pulito tra loro. Semplice come quella.


@KathiravanNatarajan Sono contento che sia stato utile.
Felipe Belluco,

25

Ho semplicemente aggiunto 5 "SPAZI" tra clonee il url:

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

e funziona!


@guettli Funziona proprio quando aggiungi 5 spazi tra clone e http (s)! quando leggo questa risposta provo ad aggiungere un po 'di spazio, perché ero di fretta e non potevo usare questa soluzione. È stato per caso e non so perché funzioni!
J.Hpour,

16

Riepilogo: digitare l'URL anziché copiarlo incollandolo nella riga di comando. Ha funzionato per me.


1
Riepilogo dalla risposta sopra: il carattere tra clone e http: // ... sembra uno spazio, ma è un carattere Unicode speciale! Dopo aver rimosso questo personaggio vuoto ed entrare in uno spazio reale, ha funzionato! Il materiale con t.txt è solo per le persone interessate al "perché" e non solo alle "opere".
Guettli,

1
Questo è già stato menzionato in molte altre risposte (inclusa la risposta accettata).
Pika the Wizard of the Whales,

14

Principalmente è dovuto ad alcuni caratteri unicode invisibili che possono venire se premi "Ctrl + V" o "Ctrl + Shift + V" nel terminale. Non copiare e incollare l'intero comando. Invece, digita git clone e quindi copia e incolla l' URL usando il tasto destro del mouse + Incolla.


13

La mia soluzione:

  1. Tipo: git clone.
  2. Copia l'URL del repository e incollalo dopo di git clone.
  3. Spostare il cursore in posizione tra git clonee https://....
  4. Elimina lo spazio se era compreso tra git clonee https://...fino a quando non lo ègit clonehttps://...
  5. Aggiungi nuovamente lo spazio e premi Enter.

sorprendentemente funziona anche se non aggiungi nuovamente lo spazio
Styl

11

Ho usato le virgolette doppie per l'URL e ha funzionato. Quindi qualcosa del genere

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

funziona .. le virgolette singole non aiutano. Deve essere virgolette doppie.


4

Puoi anche usare un editor di testo:

  • Incolla l'URL nell'editor di testo
  • Copia l'URL appena incollato dall'editor di testo
  • Incollalo nella riga di comando

2
Immagino che anche un semplice successo sul backspace sia di aiuto
guettli il

4

Si prega di non copiare dagli appunti. Basta copiare l'URL dalla posizione / barra degli indirizzi del browser.inserisci qui la descrizione dell'immagine


L'URL non era nella mia barra degli indirizzi. Era un testo semplice in una wiki.
Guettli,

no .. quando si incolla l'URL in git bash. Supponi dopo git clone {l'URL del repository} .it assume un carattere aggiuntivo tra il clone e l'URL del repository. che puoi controllare cancellando o colpendo backspace prima del tuo repo url
Naveen Gupta

3

Lo stesso problema si è verificato con me quando ho appena copiato l'URL negli Appunti e poi incollato nel terminale. La riscrittura dell'intera riga senza l'opzione copia-incolla ha risolto il mio problema.


Perché scrivi questa risposta? Pensi che alla risposta attuale manchi qualcosa?
Guettli,

1
Ciao guettli, sei sicuro che riscrivere solo il carattere spaziale risolverà il problema menzionato in tutti i casi possibili? È possibile avere qualcosa di ridondante / errato non nello spazio bianco ma anche nei simboli inclusi nel testo dell'URL?
Arsen,

ovviamente i caratteri unicode speciali possono essere ovunque. Ho aggiunto un secondo modo per "rivelare caratteri ASCII vs caratteri unicode speciali" alla mia risposta.
Guettli,

3

In Android Studio:

Ho rimosso il clone git e ho solo mantenuto l'url e ha funzionato !!



1

clonazione di seguito:

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

dà errore:

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

Modificato per:

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

funziona perfettamente o puoi semplicemente clonare l'URL. Sto usando OS Windows 10 e Gitbash.


Ha fatto esattamente lo stesso errore. La risposta accettata ha funzionato per me. Quindi è stato risolto
Callat

1

se stai usando Windows usa i segni 'url' per aprire e chiudere l'URL, ad esempio git clone 'your-url-here'


1

Controlla l'URL che hai incollato e ci vogliono ulteriori ore dopo il clone.

Quindi o hai incollato il clone git completo http://<URL>.gito rimuovi la lettera aggiuntiva prima dell'URL del repository git.


Cosa intendi con "h aggiuntiva"?
Guettli,

1

nell'opzione del codice di Visual Studio git: clone ho provato di tutto, ad esempio mettendo 5 backspace, cancellando lo speciale carattere Unicode! e mettere spazio non funziona niente per me

la soluzione funziona per me

basta aprire git bash e incollare l'intero clone git url e il gioco è fatto,

sembra che ci sia qualche problema con il codice di Visual Studio


1

Questo è successo a noi senza problemi di spazio, e cambiando https:per risolverlo http:...


Bello, questo funziona per te. Ma penso che il vero problema sia stato il carattere speciale degli spazi bianchi che hai rimosso colpendo backspace. Non sono sicuro che questa sia davvero una risposta valida a questa domanda.
Guettli,

Io non la penso così. L'ho digitato da zero diverse volte e ho avuto lo stesso errore.
beroe,

e hai ricevuto il messaggio di errore "git: fatal: non gestisco il protocollo 'http'"?
Guettli,

1
È divertente ma ho anche questo problema e l'ho risolto con questa soluzione e sono abbastanza sicuro di non avere caratteri speciali per gli spazi bianchi
Babak Habibi

1

Risposta correlata a questa domanda.
Errore - fatale: non gestisco il protocollo 'git clone https'
Stavo cercando di clonare il progetto git sul mio VScode appena installato nel mio sistema Linux, mi è stato copiato l'intero URL dal bit bucket, che era come

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


Ma in realtà esegue il comando come

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

nel secchio.
Quindi, fai semplicemente i seguenti passi:
1. Inserisci Ctr + p; questo aprirà la finestra di comando. Inserisci e apri "Clona"
2. Ora incolla qui solo l'URL del tuo reposiratorio git. es: https: //abc@bitbucket.org/abcuser/myproject.git
3. Dopo quella casella per inserire la tua password git apparirà sullo schermo. Inserisci qui la tua password git.
4. Fatto.


0

Bene sembra che se copi incolla il link al repository alla fine con questo problema.

Quello che ho notato questo

  1. Se si utilizza il pulsante Copia su GitHub e si incolla l'URL in GitBash (Windows), viene generato questo errore
  2. Se si seleziona il collegamento e quindi si incolla, allora funziona, oppure è possibile anche digitare l'URL che funziona anche.

Quindi penso che potrebbe essere un problema con il pulsante di copia GitHub


Non l'ho copiato da Github. Penso che sia stato il trac del sistema di gestione dei problemi.
Guettli,

0

Se si utilizza la GUI di Git Extensions o GitHub Desktop (significa che si sta utilizzando un software UI e non uno strumento da riga di comando) per clonare il repository, è necessario copiare e incollare solo l'URL, ad esempio https: // ... Quindi non è necessario avere git cloneprima l'URL poiché quel software lo farà da solo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.