git: ร้ายแรง: ฉันไม่ได้จัดการโปรโตคอล 'http'


307

ฉันคัดลอกและวางคำสั่ง 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'

นอกจากนี้คุณยังสามารถใช้ (ที่ถูกต้อง) URL จากด้านล่างของมุมมองพื้นที่เก็บข้อมูลที่นี่
กระตุ้น

@poke URL ถูกต้อง ฉันไม่เข้าใจสิ่งที่คุณต้องการบอกฉัน
guettli

คุณสามารถคัดลอก / วางจากตรงนั้น มันเป็น URL ที่สร้างขึ้นโดยวิวเวอร์ที่เก็บและไม่แทรกด้วยตนเองในวิกิบางอันดังนั้นจึงน่าจะถูกต้องมากขึ้น
กระตุ้น

15
สิ่งนี้เกิดขึ้นกับฉันโดยใช้ msys-git และพยายามวาง (ด้วย ctrl-v และ ctrl-shift-v) ก่อนที่จะทราบว่าพวกเขาไม่ใช่แป้นพิมพ์ลัดที่ถูกต้อง การทำซ้ำคำสั่งและวางด้วยการคลิกขวา -> วางดูเหมือนจะทำงาน
Casey Kuball

1
สำหรับฉันแก้ไขการเริ่มต้นของโปรโตคอลและพิมพ์ซ้ำคงเดิม อาจเป็นตัวละคร utf ที่มองไม่เห็นยุ่งสิ่งต่าง ๆ
Seenivasan

คำตอบ:


630

git clone http://...ผมคัดลอกและวางสายทั้ง

ตัวละครระหว่างgit cloneและhttp://...ดูเหมือนว่ามีช่องว่าง แต่มันเป็นตัวละคร Unicode พิเศษ !

คำตอบสั้น ๆ : หลังจากลบตัวละครตัวนี้และเข้าสู่พื้นที่จริงมันใช้งานได้!

สำหรับคนที่รักรายละเอียด: ฉันเห็นสองวิธีในการเปิดเผย ascii กับอักขระพิเศษยูนิโคด

Way1: Python

นี่คือสายจริง:

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

Way2: น้อยกว่า

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

หากดูเหมือนว่าgit clone <E2><80><8B><E2><80><8B>http://คุณคัดลอก + วางอักขระพิเศษ Unicode


8
ยินดีที่ได้พบ! เหตุผลที่น่าจะเป็นไอคอนนั้น
กระตุ้น

5
ฉันใช้เวลา 3 ชั่วโมงเพื่อค้นหาปัญหากับ SSH / keys / connection / การส่งคีย์ไปยัง Gitlab เพียงเพราะฉันมีข้อความที่ถูกปฏิเสธ publickey : / จากนั้นฉันเปลี่ยนเป็น https และได้รับข้อความ "ไม่จัดการ" ซึ่งทำให้ฉันเป็นที่รู้จัก และปัญหาทั้งหมดนั้นต้องขอบคุณ Unicode ที่มีรูปลักษณ์เหมือนกัน ขอบคุณมาก @guettli และคำสั่งผสม Google / SO ที่ทำให้ฉันมาที่นี่
LAFK พูดว่า Reinstate Monica

3
ขอบคุณ. ฉันเห็นสองวิธีในการแก้ไขปัญหา: git สามารถดึงอักขระพิเศษเหล่านั้นหรือเชลล์ (ฉันใช้ bash) ฉันเสียเวลาคุณเสียเวลา .... ถ้าคุณสรุปเรื่องนี้ฉันคิดว่านี่อาจเป็นเวลาหลายปีของมนุษย์ ... สูญเปล่า มันเป็นเรื่องน่าเศร้า
guettli

5
เหมือนกันที่นี่ - การคัดลอกลิงค์จาก github ไปยัง windows GIT shell
ootwch

1
@CiroSantilli 烏坎事件 2016 六四事件法轮功ขอบคุณ! xselเอาท์พุทเนื้อหาของคลิปบอร์ดและhdทำดัมพ์แบบ hex ดี
guettli

56

ใช้ Backspace เพื่อลบสิ่งที่มีอยู่ระหว่างgit cloneและurlแล้วการใช้งานสเปซบาร์เพื่อเพิ่มพื้นที่ทำความสะอาดระหว่างพวกเขา เรียบง่ายเหมือนที่


@KathiravanNatarajan ฉันดีใจที่มีประโยชน์
Felipe Belluco

25

ฉันเพิ่งเพิ่ม5 "SPACE" ระหว่างcloneและurl:

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

และมันใช้งานได้!


@guettli มันใช้งานได้เมื่อเพิ่ม 5 ช่องว่างระหว่างโคลนและ http (s)! เมื่อฉันอ่านคำตอบนี้ฉันพยายามเพิ่มที่ว่างเพราะฉันรีบและฉันไม่สามารถใช้ วิธีแก้ปัญหานี้ได้ มันบังเอิญและฉันก็ไม่รู้ว่าทำไมมันถึงได้ผล!
J.Hpour

16

สรุป: พิมพ์ url แทนที่จะคัดลอกวางไว้ใน commandline มันใช้งานได้สำหรับฉัน


1
สรุปจากคำตอบข้างต้น: อักขระระหว่างโคลนและ http: // ... ดูเหมือนว่ามีช่องว่าง แต่เป็นอักขระ Unicode พิเศษ! หลังจากลบตัวละครที่ว่างเปล่านี้และเข้าสู่พื้นที่จริงมันใช้งานได้! เนื้อหาด้วย t.txt มีไว้สำหรับผู้ที่สนใจใน "ทำไม" และไม่เพียง แต่ใน "งาน"
guettli

1
เรื่องนี้ถูกกล่าวถึงแล้วในคำตอบอื่น ๆ อีกมากมาย (รวมถึงคำตอบที่ยอมรับ)
Pika พ่อมดแห่งปลาวาฬ

14

ส่วนใหญ่เป็นเพราะตัวอักษรยูนิโค้ดที่มองไม่เห็นซึ่งอาจเกิดขึ้นหากคุณกด "Ctrl + V" หรือ "Ctrl + Shift + V" ในเทอร์มินัล อย่าคัดลอกและวางคำสั่งทั้งหมด แต่พิมพ์โคลนคอมไพล์แล้วคัดลอกและวางURLใช้คลิกขวา + Paste


13

ทางออกของฉัน:

  1. ประเภท: git clone.
  2. คัดลอก URL git cloneพื้นที่เก็บข้อมูลและวางหลังของ
  3. เลื่อนเคอร์เซอร์ไปยังตำแหน่งระหว่างและgit clonehttps://...
  4. ลบพื้นที่ถ้ามันมีระหว่างgit cloneและhttps://...จนกว่าจะมีgit clonehttps://...
  5. เพิ่มที่ว่างEnterอีกครั้งแล้วกด

น่าแปลกใจที่มันใช้งานได้แม้ว่าคุณจะไม่เพิ่มพื้นที่
Styl

11

ฉันใช้เครื่องหมายคำพูดคู่สำหรับ URL และใช้งานได้ ดังนั้นสิ่งที่ชอบ

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

ทำงาน .. ราคาเดียวไม่ช่วย จะต้องมีเครื่องหมายคำพูดคู่


4

คุณยังสามารถใช้โปรแกรมแก้ไขข้อความ:

  • วาง URL ในเท็กซ์เอดิเตอร์
  • คัดลอก URL ที่เพิ่งวางจากเครื่องมือแก้ไขข้อความ
  • วางลงในบรรทัดคำสั่ง

2
ฉันเดาว่าการกดปุ่ม
แบ็คสเปซ

4

โปรดอย่าคัดลอกจากคลิปบอร์ด เพียงคัดลอก URL จากที่ตั้ง / แถบที่อยู่ของเบราว์เซอร์ป้อนคำอธิบายรูปภาพที่นี่


URL ไม่ได้อยู่ในแถบที่อยู่ของฉัน มันเป็นข้อความธรรมดาในวิกิ
guettli

ไม่ .. เมื่อวาง URL ใน git bash จัดหาหลังจาก git clone {repo URL ของคุณ}. จะใช้อักขระเพิ่มเติมระหว่างโคลนและ URL repo ของคุณ ซึ่งคุณสามารถตรวจสอบได้โดยการลบหรือกดปุ่ม Backspace ก่อน repo url ของคุณ
Naveen Gupta

3

ปัญหาเดียวกันนี้เกิดขึ้นกับฉันเมื่อฉันเพิ่งคัดลอก URL ไปยังคลิปบอร์ดแล้ววางลงในเทอร์มินัล เขียนใหม่ทั้งบรรทัดโดยไม่มีตัวเลือกการคัดลอกที่ผ่านมาแก้ไขปัญหาของฉัน


ทำไมคุณถึงเขียนคำตอบนี้ คุณคิดว่าคำตอบปัจจุบันขาดอะไรไปหรือเปล่า?
guettli

1
สวัสดี guettli คุณแน่ใจหรือว่าการเขียนเฉพาะอักขระช่องว่างจะแก้ไขปัญหาที่กล่าวถึงในทุกกรณีที่เป็นไปได้? เป็นไปได้ไหมที่จะมีบางสิ่งที่ซ้ำซ้อน / ไม่ถูกต้องไม่ได้อยู่ในพื้นที่สีขาว แต่มีสัญลักษณ์ที่รวมอยู่ในข้อความ url ด้วยหรือไม่?
Arsen

แน่นอนว่าอักขระยูนิโค้ดพิเศษสามารถอยู่ได้ทุกที่ ฉันได้เพิ่มวิธีที่สองในการ "เปิดเผย ascii vs อักขระยูนิโค้ดพิเศษ" ในคำตอบของฉัน
guettli

3

ใน Android Studio:

ฉันลบโคลนคอมไพล์แล้วและเก็บ URL ไว้เท่านั้นและใช้งานได้ !!


2

การแก้ปัญหาง่ายมาก:

1- คัดลอกเส้นทางคอมไพล์ของคุณ forexample: http://github.com/yourname/my-git-project.git

2- เปิดแผ่นจดบันทึกแล้ววาง จากนั้นคัดลอกเส้นทางจากแผ่นจดบันทึก

3- วางพา ธ ไปยังบรรทัดคำสั่ง

แค่นั้นแหละ.


1

clonning ด้านล่าง:

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

ทำงานได้อย่างสมบูรณ์หรือคุณเพียงแค่คอมไพล์โคลน URL ฉันใช้ระบบปฏิบัติการ windows 10 และ gitbash


มันทำผิดพลาดเหมือนกันทุกประการ คำตอบที่ยอมรับใช้งานได้สำหรับฉัน ดังนั้นจึงได้รับการแก้ไข
Callat

1

หากคุณใช้ windows ให้ใช้เครื่องหมายคำพูด 'url' เพื่อเปิดและปิด url ของคุณเช่น git clone 'your-url-here'


1

โปรดตรวจสอบ URL ที่คุณวางและใช้เวลาเพิ่มหลังจาก h โคลนนิ่ง

ดังนั้นคุณอาจจะวางโคลนคอมไพล์แบบเต็ม http://<URL>.gitหรือเพียงแค่ลบตัวอักษรเพิ่มเติมก่อน URL ที่เก็บ git


คุณหมายถึงอะไรด้วย "เพิ่มเติม h"?
guettli

1

ในตัวเลือกรหัส visual studio git: clone ฉันลองทุกสิ่งเช่นใส่ backspace 5 ลบตัวอักขระ Unicode พิเศษ! และไม่มีที่ว่างสำหรับฉัน

วิธีแก้ปัญหาทำงานได้สำหรับฉัน

เพียงแค่เปิดทุบตีคอมไพล์และวาง URL โคลนคอมไพล์ทั้งหมดและทำ

ดูเหมือนว่าจะมีปัญหาบางอย่างเกี่ยวกับรหัส Visual Studio


1

สิ่งนี้เพิ่งเกิดขึ้นกับเราโดยไม่มีปัญหาช่องว่างและเปลี่ยนhttps:เป็นhttp:แก้ไข ...


นิสัยดีสำหรับคุณ แต่ฉันคิดว่าปัญหาที่แท้จริงคือตัวละครช่องว่างพิเศษที่คุณลบออกโดยกดปุ่ม Backspace ฉันไม่แน่ใจว่านี่เป็นคำตอบที่ถูกต้องสำหรับคำถามนี้หรือไม่
guettli

ฉันไม่คิดอย่างนั้น ฉันพิมพ์ตั้งแต่เริ่มต้นหลายครั้งและได้รับข้อผิดพลาดเดียวกัน
beroe

และคุณได้รับข้อความแสดงข้อผิดพลาด "git: ร้ายแรง: ฉันไม่ได้จัดการโปรโตคอล" http "" หรือไม่
guettli

1
มันตลก แต่ฉันก็มีปัญหานี้เช่นกันและฉันแก้ไขมันด้วยโซลูชันนี้และฉันค่อนข้างแน่ใจว่าฉันไม่มีตัวละครช่องว่างพิเศษ
Babak Habibi

1

คำตอบที่เกี่ยวข้องกับคำถามนี้
ข้อผิดพลาด - ถึงขั้นร้ายแรง: ฉันไม่ได้จัดการ 'git clone https ของโปรโตคอล'
ฉันพยายามโคลนโครงการ git กับ VScode ที่เพิ่งติดตั้งใหม่ในระบบ Linux ของฉันฉันคัดลอก url ทั้งหมดจาก bit bucket ซึ่งเป็นเหมือน

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


แต่จริงๆแล้วมันใช้คำสั่งเหมือน

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

ในที่เก็บข้อมูลบิต
ดังนั้นให้ทำตามขั้นตอนต่อไปนี้:
1. ป้อน Ctr + p; จะเป็นการเปิดกล่องคำสั่ง ป้อนและเปิด 'Clone'
2. ตอนนี้เพียงวาง url ของระบบทางเดินหายใจของคุณที่นี่ เช่น: https: //abc@bitbucket.org/abcuser/myproject.git
3. หลังจากนั้นกล่องสำหรับใส่รหัสผ่าน git ของคุณจะปรากฏบนหน้าจอ ป้อนรหัสผ่าน git ของคุณที่นี่
4. เสร็จสิ้น


0

ดูเหมือนว่าถ้าคุณคัดลอกวางลิงค์ที่เก็บคุณจบลงด้วยปัญหานี้

สิ่งที่ฉันสังเกตเห็นมันนี้

  1. ถ้าคุณใช้ปุ่มคัดลอกบน GitHub แล้ววาง URL ใน GitBash (Windows) มันจะพ่นข้อผิดพลาดนี้
  2. หากคุณเลือกลิงก์แล้ววางจากนั้นก็ใช้งานได้หรือคุณสามารถพิมพ์ URL ที่ใช้งานได้เช่นกัน

ดังนั้นฉันคิดว่าอาจเป็นปัญหากับปุ่มคัดลอก GitHub


ฉันไม่ได้คัดลอกมาจาก GitHub ฉันคิดว่านี่เป็นระบบการจัดการปัญหา
guettli

0

หากคุณใช้ Git Extensions GUI หรือ GitHub Desktop (หมายถึงหากคุณใช้ซอฟต์แวร์ UI ใด ๆ และไม่ใช่เครื่องมือบรรทัดคำสั่ง) เพื่อคัดลอก repo จากนั้นคุณต้องคัดลอกและวางเฉพาะ URL เช่นhttps: // ...ดังนั้น ไม่จำเป็นต้องมีgit cloneURL มาก่อนเพราะซอฟต์แวร์นั้นจะทำเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.