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'
guettli
sumber
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.

guettli
sumber
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.

Felipe Belluco
sumber
@ 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!

J.Hpour
sumber
@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.

Rajan
sumber
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.

Paritosh Mahajan
sumber
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.
Christian Carrillo
sumber
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.

mhn
sumber
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
Zovfreullia
sumber
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

Reezoo
sumber
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.

Arsen
sumber
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 !!

Suraj Vaishnav
sumber
2

Solusinya sangat sederhana:

1- Salin git path Anda. forexample: http://github.com/namaanda/my-git-project.git

2- Buka notepad dan Tempel. Kemudian salin path dari notepad.

3 - tempel path ke baris perintah

itu dia.

Fatihd
sumber
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.

vidur punj
sumber
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'

Jeremy
sumber
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.

Naveen Gupta
sumber
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

Yusuf Khan
sumber
1

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

beroe
sumber
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: //[email protected]/abcuser/myproject.git


Tapi sebenarnya itu menjalankan perintah suka

git clone git clone https: //[email protected]/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: //[email protected]/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.

tejraj
sumber
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

Prostil Hardi
sumber
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.

Inzimam Tariq IT
sumber