git: fatal: Saya tidak menangani protokol 'http'


307

Saya menyalin dan menempelkan perintah git clone dari halaman web: https://fedorahosted.org/ibus-typing-booster/

Saya mengerti:

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'

Anda juga dapat mengambil URL (yang benar) dari bagian bawah tampilan repositori di sini .
aduk

@ tarik URL sudah benar. Saya tidak mengerti apa yang ingin Anda sampaikan kepada saya.
guettli

Anda dapat menyalin / menempelnya dari sana. Ini adalah URL yang dibuat oleh penampil repositori, dan bukan yang disisipkan secara manual di beberapa wiki, jadi sepertinya lebih tepat.
colok

15
Ini terjadi pada saya menggunakan msys-git dan mencoba menempel (dengan ctrl-v dan ctrl-shift-v), sebelum menyadari bahwa itu bukan pintasan keyboard yang valid. Mengulang perintah dan menempel dengan klik kanan-> tempel tampaknya berhasil.
Casey Kuball

1
bagi saya mengedit mulai dari protokol dan mengetik ulang yang sama memperbaikinya. Mungkin ada beberapa karakter utf yang tidak terlihat mengacaukan hal.
Seenivasan

Jawaban:


631

Saya menyalin dan menempelkan seluruh baris git clone http://....

Karakter antara git clonedan http://...terlihat seperti spasi, tetapi itu adalah karakter Unicode khusus !

Jawaban singkat: Setelah menghapus karakter ini, dan memasuki ruang nyata, itu berhasil!

Untuk orang yang menyukai detail: Saya melihat dua cara untuk mengungkapkan karakter ascii vs khusus-unicode

Way1: Python

Inilah garis sebenarnya:

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

Way2: kurang

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

Jika terlihat seperti git clone <E2><80><8B><E2><80><8B>http://, maka Anda menyalin + menyisipkan karakter-unicode khusus.


8
Temuan yang bagus! Alasannya mungkin karena ikon itu ada di sana.
colok

5
Saya menghabiskan 3 jam mencari masalah dengan SSH / kunci / koneksi / mengirimkan kunci ke Gitlab hanya karena saya punya pesan ditolak publickey. : / Lalu saya beralih ke https dan mendapat pesan "jangan pegang", yang memberi saya tip. Dan semua masalah itu berkat Unicode yang mirip ruang angkasa. Banyak, banyak terima kasih kepada Anda @guettli dan Google / SO combo yang membawa saya ke sini.
LAFK mengatakan Reinstate Monica

3
Terima kasih. Saya melihat dua cara untuk mengatasi: git dapat menghapus karakter khusus atau shell (saya menggunakan bash). Saya membuang-buang waktu, Anda membuang waktu .... jika Anda meringkas ini, saya kira ini bisa bertahun-tahun waktu manusia ... terbuang. Ini menyedihkan.
guettli

5
sama di sini - menyalin tautan dari github ke windows GIT shell
ootwch

1
@CiroSantilli 烏坎 事件 2016 六四 事件 法轮功 terima kasih! xseloutput konten clipboard, dan hdmelakukan dump hex. Bagus.
guettli

56

Gunakan backspace untuk menghapus apa pun yang ada di antara git clonedan urldan kemudian gunakan bilah spasi untuk menambahkan ruang bersih di antara mereka. Sederhana seperti itu.


@ KathiravanNatarajan Saya senang itu berguna.
Felipe Belluco

25

Saya hanya menambahkan 5 "SPACE" antara clonedan url:

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

dan itu berhasil!


@guettli Ini berfungsi tepat ketika menambahkan 5 ruang antara clone dan http (s)! ketika saya membaca jawaban ini saya mencoba menambahkan beberapa ruang, karena saya sedang terburu-buru dan saya tidak dapat menggunakan solusi ini . Itu tidak sengaja dan saya tidak tahu mengapa itu berhasil!
J.Hpour

16

Rangkuman: Ketikkan url alih-alih salin tempel di baris perintah. Ini berhasil untuk saya.


1
Ringkasan dari jawaban di atas: Karakter antara clone dan http: // ... terlihat seperti spasi, tetapi itu adalah karakter Unicode khusus! Setelah menghapus karakter kosong ini, dan memasuki ruang nyata, itu berhasil! Hal-hal dengan t.txt hanya untuk orang-orang yang tertarik pada "mengapa" dan tidak hanya dalam "bekerja".
guettli

1
Ini sudah disebutkan dalam beberapa jawaban lain (termasuk jawaban yang diterima).
Pika Sang Penyihir Paus

14

Sebagian besar disebabkan oleh beberapa karakter unicode yang tidak terlihat yang dapat muncul jika Anda menekan "Ctrl + V" atau "Ctrl + Shift + V" di terminal. Jangan menyalin dan menempelkan seluruh perintah. Sebagai gantinya, ketik git clone lalu salin dan tempel url menggunakan Klik Kanan + Tempel.


13

Solusi saya:

  1. Ketik: git clone.
  2. Salin url repositori dan tempel setelah git clone.
  3. Pindahkan kursor ke posisi antara git clonedan https://....
  4. Hapus spasi jika ada antara git clonedan https://...sampai adagit clonehttps://...
  5. Tambahkan kembali ruang dan tekan Enter.

mengherankan itu bekerja bahkan jika Anda tidak menambahkan kembali ruang
Styl

11

Saya menggunakan tanda kutip ganda untuk URL dan itu berhasil. Jadi sesuatu seperti itu

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

berfungsi .. kutipan tunggal tidak membantu. Itu harus menjadi tanda kutip ganda.


4

Anda juga dapat menggunakan editor teks:

  • Rekatkan URL di editor teks
  • Salin URL yang baru saja disisipkan dari editor teks
  • Rekatkan di baris perintah

2
Saya kira hit sederhana di backspace juga membantu
guettli

4

Tolong jangan menyalin dari clipboard. Cukup salin url dari bilah lokasi / Alamat browser Anda.masukkan deskripsi gambar di sini


Url tidak ada di bilah alamat saya. Itu teks biasa dalam wiki.
guettli

tidak .. saat menempel URL di git bash. Misalkan setelah git klon {URL repo Anda}. ia mengambil karakter tambahan antara klon dan URL repo Anda. yang dapat Anda periksa dengan menghapus atau menekan backspace sebelum repo url Anda
Naveen Gupta

3

Masalah yang sama terjadi pada saya ketika saya baru saja menyalin url ke clipboard dan kemudian menempelkannya ke terminal. Menulis ulang seluruh baris tanpa opsi salin masa lalu menyelesaikan masalah saya.


Mengapa Anda menulis jawaban ini? Apakah Anda pikir jawaban saat ini melewatkan sesuatu?
guettli

1
Hai guettli, Apakah Anda yakin bahwa menulis ulang hanya karakter spasi akan menyelesaikan masalah yang disebutkan dalam semua kasus yang mungkin? Apakah mungkin untuk memiliki sesuatu yang berlebihan / salah tidak di ruang putih tetapi dalam simbol yang disertakan dalam teks url juga?
Arsen

tentu saja karakter unicode khusus dapat di mana saja. Saya menambahkan cara kedua untuk "mengungkap ascii vs karakter unicode khusus" ke jawaban saya.
guettli

3

Di Android Studio:

Saya menghapus git clone dan hanya mempertahankan url saja dan itu berhasil !!



1

clonning di bawah ini:

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

memberikan kesalahan:

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

Dimodifikasi untuk:

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

berfungsi dengan baik atau Anda bisa langsung mengkloning url. Saya menggunakan os windows 10 dan gitbash.


Itu melakukan kesalahan yang sama persis. Jawaban yang diterima bekerja untuk saya. Jadi itu diselesaikan
Callat

1

jika Anda menggunakan windows, gunakan tanda bicara 'url' untuk membuka dan menutup url Anda mis. git clone 'your-url-here'


1

Silakan Periksa URL yang Anda tempel dan Diperlukan tambahan h setelah klon.

Jadi, Anda harus menempelkan klon git penuh http://<URL>.gitatau hanya menghapus surat tambahan sebelum URL repositori git.


Apa yang Anda maksud dengan "tambahan h"?
guettli

1

dalam opsi kode visual studio git: clone saya mencoba segala sesuatu misalnya meletakkan 5 backspace, menghapus karakter Unicode khusus! dan menempatkan ruang tidak ada yang berhasil untuk saya

solusi bekerja untuk saya

cukup buka git bash dan rekatkan seluruh url git clone dan lakukan,

sepertinya ada beberapa masalah dengan kode visual studio


1

Ini baru saja terjadi pada kami tanpa masalah spasi putih, dan mengubah https:untuk http:memperbaikinya ...


Bagus, ini bekerja untuk Anda. Tapi saya pikir masalah sebenarnya adalah karakter spasi putih khusus yang Anda hapus dengan menekan backspace. Saya tidak yakin apakah ini benar-benar jawaban yang valid untuk pertanyaan ini.
guettli

Saya kira tidak. Saya mengetiknya dari awal beberapa kali dan mendapatkan kesalahan yang sama.
Beroe

dan Anda mendapat pesan kesalahan "git: fatal: Saya tidak menangani protokol 'http'"?
guettli

1
Ini lucu tapi saya punya masalah ini juga dan saya memperbaikinya dengan solusi ini dan saya cukup yakin saya tidak punya karakter spasi putih khusus
Babak Habibi

1

Terkait jawaban dengan pertanyaan ini.
Kesalahan - fatal: Saya tidak menangani protokol 'git clone https'
Saya mencoba mengkloning git proyek ke VScode yang baru saya instal di sistem Linux saya, saya menyalin seluruh url dari bit bucket, yang seperti

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


Tapi sebenarnya itu menjalankan perintah suka

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

dalam ember bit.
Jadi Cukup lakukan langkah-langkah berikut:
1. Masukkan Ctr + p; ini akan membuka kotak perintah. Masukkan dan buka 'Klon'
2. Sekarang hanya tempel url repositori git Anda di sini. misalnya: https: //abc@bitbucket.org/abcuser/myproject.git
3. Setelah kotak untuk memasukkan kata sandi git Anda akan muncul di layar. Masukkan kata sandi git Anda di sini.
4. Selesai.


0

Sepertinya jika Anda menyalin tempel tautan repositori, Anda berakhir dengan masalah ini.

Apa yang saya perhatikan ini

  1. Jika Anda menggunakan tombol salin di GitHub dan kemudian tempel URL di GitBash (Windows) itu melempar kesalahan ini
  2. Jika Anda memilih tautan lalu menempelkannya, atau Anda juga bisa mengetikkan URL yang berfungsi juga.

Jadi saya pikir itu mungkin masalah dengan tombol salin GitHub


Saya tidak menyalinnya dari github. Saya pikir itu adalah masalah sistem manajemen trac.
guettli

0

Jika Anda menggunakan Git Extensions GUI atau GitHub Desktop (artinya jika Anda menggunakan perangkat lunak UI dan bukan alat baris perintah) untuk mengkloning repo maka Anda harus menyalin dan menempelkan hanya URL yaitu https: // ... Jadi tidak perlu memiliki git clonesebelum URL karena Perangkat Lunak itu akan melakukannya sendiri.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.