Git fatal: протокол 'https' не підтримується


191

Я переглядаю посібник із розгортання Github: https://guides.github.com/activities/forking/ і намагаюся клонувати сховище на своєму комп’ютері. Однак, запустивши команду:

$ git clone https://github.com/./Spoon-Knife.git
Cloning into 'Spoon-Knife'...
fatal: protocol 'https' is not supported

Також спробував із SSH:

$ git clone git@github.com:./Spoon-Knife.git
Cloning into 'Spoon-Knife'...
Warning: Permanently added the RSA host key for IP address '.' to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Чи потрібно змінити деякі параметри конфігурації на своєму комп’ютері чи це проблема з GitHub?

Редагувати: я замінив своє ім’я користувача та IP-адресу на "."


2
Чи можете ви перевірити, чи є в скопійованому тексті якісь дивні спеціальні символи. Можливо, спробуйте ввести всю URL-адресу замість того, щоб скопіювати її з github. І, можливо, також перевірте, чи github.com дійсно дозволений до github чи є щось переадресація на інший сервер.
lw1.at

1
А може, якесь інше програмне забезпечення на вашому комп’ютері пошкодило встановлений git (див. Stackoverflow.com/questions/15553161/… ). У такому випадку перевстановлення може усунути проблему.
lw1.at

2
Дякую чомусь, я перезавантажив командний рядок і тепер він працює ...
Хенк Лін

Відповіді:


566

Проблема, мабуть, у цьому.

Ви намагалися вставити його за допомогою

  • CTRL + V

раніше, і це не спрацювало, тому ви пішли вперед і обклеїли його класикою

  • Right Click - Вставити **.

На жаль, коли ви вводите CTRL+ V на терміналі, він додає

  • прихований ^?

(принаймні, на моїй машині це було закодовано так).

персонаж, який з’являється лише після вас

  • backspace

(продовжуйте спробувати його на git bash).

Так ваше посилання стає ^?https://...

що недійсне.


24
це рішення!
девман

27
не можу повірити, що ми маємо мати справу з такими речами. Невидимі персонажі змушують вашу роботу тривати довше. Дякую! Працювали для мене.
Вічний

3
Дякую! Я видалив і переписав h https і це працює!
Вальтер

2
Це було все. Я використовую MINGW. Я пробував ctrl + v та shift + ctrl + v перед вставкою, і це не вдалося, але після повторної спроби за допомогою параметра вставки GUI він клонував моє сховище успішно. Дякую!
Франк

3
Я хочу одружитися з цією відповіддю <3
кричуще

22

Редагувати: Цю конкретну проблему з користувачами було вирішено за допомогою нового термінального сеансу.

A ?перед протоколом (https) не підтримується. Ти хочеш це:

git clone git@github.com:octocat/Spoon-Knife.git

або це:

git clone https://github.com/octocat/Spoon-Knife.git

Вибір місця для клонування


Вибачте, я не впевнений, чому "?" з'явилося, коли я скопіював з командного рядка. Я відредагував своє повідомлення.
Хенк Лін

Спробуйте будь-яку з цих команд для мене, я не знаю, чому у вас є .після, github.com/але це не правильно.
TomDunning

2
Дякую - я перезапустив командний рядок і чомусь зараз він працює. Я все ще дуже розгублений, чому це не почалося з початку.
Хенк Лін

1
Я також вирішив проблему відкриття нового командного рядка. Я перевірив варіант відкриття Git Bash при встановленні Git і використав це для клонування Git вперше. Це може бути причиною.
Окремий

2
Перезапуск мого терміналу виправив проблему
Елькас


8

Просто використовуйте подвійні лапки з URL, наприклад: git clone "https://yourRepoUrl"

(Це якось бачить, що ви використовуєте дві лапки на початку, не знаю чому).

Я отримував таку ж помилку => fatal: protocol ''https' is not supported(ви можете побачити 2 цитати на https).


4

Там відбувається щось рибне. Можливо, помилка github, яка не відповідає (тестування A / B?)

Я на windows10, використовую firefox. Я щойно скопіював URL-адресу каси і отримав додатковий символ. Але тільки вперше. Вдруге її там не було. Мені довелося переглянути мій файл історії, щоб побачити його!

ось моя історія:

git clone --recursive https://github.com/amzeratul/halley-template
git clone --recursive http://github.com/amzeratul/halley-template
git clone --recursive github.com/amzeratul/halley-template
git clone --recursive https://github.com/amzeratul/halley-template

команда історії не показує зайвих знаків. Так само, як це не було зроблено, коли я копіював його в термінал. Ви можете бачити, як я намагався видалити ', а потім весь протокол? Мене запустили лише дослідити далі, коли клавіша зворотної області перемістила на один символ менше, ніж я очікував!

Я зберег мій файл історії оболонки на машині за допомогою шестигранного редактора:

00000000  xx xx xx xx xx xx xx 0a  67 69 74 20 63 6c 6f 6e  |xxxxxxx.git clon|
00000010  65 20 2d 2d 72 65 63 75  72 73 69 76 65 20 c2 96  |e --recursive ..|
00000020  68 74 74 70 73 3a 2f 2f  67 69 74 68 75 62 2e 63  |https://github.c|
00000030  6f 6d 2f 61 6d 7a 65 72  61 74 75 6c 2f 68 61 6c  |om/amzeratul/hal|
00000040  6c 65 79 2d 74 65 6d 70  6c 61 74 65 0a 67 69 74  |ley-template.git|
00000050  20 2d 2d 68 65 6c 70 0a  67 69 74 20 75 70 64 61  | --help.git upda|
00000060  74 65 2d 67 69 74 2d 66  6f 72 2d 77 69 6e 64 6f  |te-git-for-windo|
00000070  77 73 0a 67 69 74 20 63  6c 6f 6e 65 20 2d 2d 72  |ws.git clone --r|
00000080  65 63 75 72 73 69 76 65  20 c2 96 68 74 74 70 73  |ecursive ..https|
00000090  3a 2f 2f 67 69 74 68 75  62 2e 63 6f 6d 2f 61 6d  |://github.com/am|
000000a0  7a 65 72 61 74 75 6c 2f  68 61 6c 6c 65 79 2d 74  |zeratul/halley-t|
000000b0  65 6d 70 6c 61 74 65 0a  63 75 72 6c 20 2d 2d 76  |emplate.curl --v|
000000c0  65 72 73 69 6f 6e 0a 63  64 20 63 6f 64 65 0a 67  |ersion.cd code.g|
000000d0  69 74 20 63 6c 6f 6e 65  20 2d 2d 72 65 63 75 72  |it clone --recur|
000000e0  73 69 76 65 20 c2 96 68  74 74 70 73 3a 2f 2f 67  |sive ..https://g|
000000f0  69 74 68 75 62 2e 63 6f  6d 2f 61 6d 7a 65 72 61  |ithub.com/amzera|
00000100  74 75 6c 2f 68 61 6c 6c  65 79 2d 74 65 6d 70 6c  |tul/halley-templ|
00000110  61 74 65 0a 67 69 74 20  63 6c 6f 6e 65 20 2d 2d  |ate.git clone --|
00000120  72 65 63 75 72 73 69 76  65 20 c2 96 68 74 74 70  |recursive ..http|
00000130  3a 2f 2f 67 69 74 68 75  62 2e 63 6f 6d 2f 61 6d  |://github.com/am|
00000140  7a 65 72 61 74 75 6c 2f  68 61 6c 6c 65 79 2d 74  |zeratul/halley-t|
00000150  65 6d 70 6c 61 74 65 0a  67 69 74 20 63 6c 6f 6e  |emplate.git clon|
00000160  65 20 2d 2d 72 65 63 75  72 73 69 76 65 20 67 69  |e --recursive gi|
00000170  74 68 75 62 2e 63 6f 6d  2f 61 6d 7a 65 72 61 74  |thub.com/amzerat|
00000180  75 6c 2f 68 61 6c 6c 65  79 2d 74 65 6d 70 6c 61  |ul/halley-templa|
00000190  74 65 0a 67 69 74 20 63  6c 6f 6e 65 20 2d 2d 72  |te.git clone --r|
000001a0  65 63 75 72 73 69 76 65  20 68 74 74 70 73 3a 2f  |ecursive https:/|
000001b0  2f 67 69 74 68 75 62 2e  63 6f 6d 2f 61 6d 7a 65  |/github.com/amze|
000001c0  72 61 74 75 6c 2f 68 61  6c 6c 65 79 2d 74 65 6d  |ratul/halley-tem|
000001d0  70 6c 61 74 65 0a                                 |plate.|
000001d6

c2 96Перед URL-адресою вставлено таблицю ia . Поняття не маю, що це таке. Хіба це не розширений ASCII (де це було б –), і він був прихований майже з кожного місця, яке я вклеював, поки він був у буфері обміну. Найближче, що я знайшов із цим шістнадцятковим значенням, було б https://www.fileformat.info/info/unicode/char/c298/index.htm але я ніде не бачив префікса utf (знову, можливо, був загублений )

Це все може ввести в оману, оскільки я втратив сторінку / буфер обміну і працюю виключно із збереженого файлу історії оболонки, в якому дуже добре можуть бути відсутні дані з оригінальної помилки / зловмисного введення.


2

Проблема

git clone https://github.com/rojarfast1991/TestGit.git fatal: протокол "https" не підтримується

Рішення:

Кроки:

(1): - Відкрийте новий термінал і клонуйте сховище git

git clone https://github.com/rojarfast1991/TestGit.git

(2) Відкриється автоматичне запрошення для входу в git, і буде запропоновано ввести обліковий запис користувача.

Ім'я користувача: - xxxxxxx

PassWord: - xxxxxxx

Нарешті розпочнеться клонування ...

git clone https://github.com/rojarfast1991/TestGit.git
Cloning into 'TestGit'...
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), done.

1

З тією ж проблемою я зіткнувся після того, як щойно встановив git на Windows 10 і запустив його вперше. Перезапуск вікна bash вирішив проблему.


1

Використовуйте http замість https ; воно дасть попереджувальне повідомлення та переспрямує на https, клонується без жодних проблем.

$ git clone http://github.com/karthikeyana/currency-note-classifier-counter.git
Cloning into 'currency-note-classifier-counter'...
warning: redirecting to https://github.com/karthikeyana/currency-note-classifier-counter.git
remote: Enumerating objects: 533, done.
remote: Total 533 (delta 0), reused 0 (delta 0), pack-reused 533
Receiving objects: 100% (533/533), 608.96 KiB | 29.00 KiB/s, done.
Resolving deltas: 100% (295/295), done.

0

У мене була така ж проблема: все, що я робив, це перезапустити командний рядок, а потім перейти до папки документів, а не до папки користувача, використовуючи команду '' CD-документи ''. Це повинно бути все, що потрібно. Також переконайтесь, що посилання правильне.


0

Можливо, ви використовуєте комп'ютер Windows або Linux, де ви не ввійшли в git hub, тому сертифікат не підтверджений. З системи, де ви отримуєте вхід помилки до github з обліковим записом, тоді спробуйте використовувати команду, яка буде працювати. Щасти



0

Я перепробував багато способів вирішити це. Але я знову і знову зазнав невдачі. Тоді я зробив це:

Open Git Bash> перейдіть до свого directory> вставитиgit clone https://shahadat@bitbucket.org/*******.git після того , командний рядок буде відображатися дати облікові дані для входу. Надайте повноваження та клонуйте ваш проект.


0
Ви спробували це:

clt + V

Просто клацніть правою кнопкою миші та натисніть на вставити

Сподіваюся, це спрацює


0

Цю помилку я отримав, коли намагався бути кмітливим і самостійно витягувати URL-адресу клонування з URL-адреси репо. Я зробив це неправильно. Я робив:

git@https://github.company.com/Project/Core-iOS

де мені довелося робити:

git@github.company.com:Project/Core-iOS.git

У мене було 3 помилки:

  • не став https://
  • після того, як .comмені потрібно :замість/
  • в кінці мені потрібна .git

0

Це питання зберігається навіть після виправлення відповіді на найбільш схвалену відповідь.

Більш конкретно, я вставив посилання без "Ctrl + v", але він все-таки дав fatal: protocol 'https' is not supported.

Але якщо ви скопіюєте це повідомлення в Windows або на панель пошуку Google, ви побачите, що фактичне повідомлення є fatal: protocol '##https' is not supported, де "#" означає цей символ . Як бачите, ці 2 символи не видалено.

Я працював над IntelliJ IDEA Community Edition 2019.2.3, і наступне виправлення стосується цього інструменту, але відповідь полягає в тому, що ці два символи все ще є і їх потрібно видалити зі посилання .

Виправлення IntelliJ

Перейдіть до верхньої панелі, виберіть VCS -> Git -> Remote ... та натисніть.

Тепер це відкриє щось, що пов'язує це

введіть тут опис зображення

Ви можете побачити цих 2 нерозпізнаних символів. Ми повинні їх видалити. Або натисніть значок редагування та видаліть ці два символи, або ви можете видалити посилання та додати нове.

Переконайтеся, що у папці вашого проекту є папка ".git" .

введіть тут опис зображення

А зараз це має подобатися. Натисніть "Ок", і тепер ви можете пересилати файли до вашого сховища git.

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.