Git fatal: protokół „https” nie jest obsługiwany


191

Przeglądam przewodnik rozwidlania Githuba: https://guides.github.com/activities/forking/ i próbuję sklonować repozytorium na moim komputerze. Jednak uruchomienie polecenia:

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

Wypróbowano także z 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.

Czy muszę zmienić niektóre ustawienia konfiguracyjne na moim komputerze, czy jest to problem z GitHub?

Edycja: zamieniłem moją nazwę użytkownika i adres IP na „.”


2
Czy możesz sprawdzić, czy w skopiowanym tekście są jakieś dziwne znaki specjalne? Może spróbuj wpisać cały adres URL zamiast kopiować go z github. A może także sprawdź, czy github.com naprawdę rozwiązuje się jako github lub czy jest coś przekierowującego go na inny serwer.
lw1.

1
A może inne oprogramowanie na twoim komputerze spowodowało uszkodzenie zainstalowanego gita (patrz stackoverflow.com/questions/15553161/ ... ). W takim przypadku ponowna instalacja może rozwiązać problem.
lw1.

2
Dzięki z jakiegoś powodu zrestartowałem linię poleceń i teraz działa ...
Hank Lin

Odpowiedzi:


566

Problem jest prawdopodobnie taki.

Próbowałeś wkleić go za pomocą

  • CTRL + V

wcześniej i nie działało, więc wkleiłeś go z klasycznym

  • Right Click - Wklej **.

Niestety za każdym razem, gdy wpisujesz CTRL+ V na terminalu , dodaje

  • ukryty ^?

(przynajmniej na moim komputerze było to tak zakodowane).

postać, która pojawia się tylko po tobie

  • backspace

(śmiało spróbuj na git bash).

Więc twój link staje się ^?https://...

który jest nieważny.


24
to jest rozwiązanie!
devman

27
Nie mogę uwierzyć, że mamy do czynienia z takimi rzeczami. Niewidzialne postacie wydłużające Twoją pracę. Dzięki! Pracował dla mnie.
Wieczny

3
dzięki! Usunąłem i przepisałem h https i działa!
Walter Cejas

2
To było to. Używam MINGW. Próbowałem ctrl + v i shift + ctrl + v przed wklejeniem i nie powiodło się, ale po ponownej próbie za pomocą opcji wklejania GUI pomyślnie sklonowałem moje repozytorium. Dzięki!
Frank

3
Chcę poślubić tę odpowiedź <3
crusy

22

Edycja: ten konkretny problem użytkowników został rozwiązany przez rozpoczęcie nowej sesji terminala.

A ?przed protokołem (https) nie jest obsługiwany. Chcesz to:

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

albo to:

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

Wybór lokalizacji do sklonowania


Przepraszam, nie wiem, dlaczego „?” pojawił się, gdy skopiowałem z wiersza poleceń. Edytowałem swój post.
Hank Lin

Wypróbuj jedno z tych poleceń dla mnie, nie wiem, dlaczego masz .po, github.com/ale to nie w porządku.
TomDunning

2
Dziękuję - zrestartowałem wiersz poleceń iz jakiegoś powodu teraz działa. Nadal jestem bardzo zdezorientowany, dlaczego to nie zadziałało.
Hank Lin

1
Rozwiązałem również problem otwierając nową linię poleceń. Zaznaczałem opcję otwierania Git Bash podczas instalacji Gita i użyłem tego do klonowania git za pierwszym razem. To może być przyczyna.
Detached Laconian

2
Ponowne uruchomienie terminala rozwiązało problem
Elkas


8

Po prostu użyj cudzysłowów z adresem URL, na przykład: git clone "https://yourRepoUrl"

(Jakoś widzi, że na początku używasz 2 cudzysłowów, nie wiem dlaczego).

Otrzymałem ten sam błąd => fatal: protocol ''https' is not supported(możesz zobaczyć 2 cudzysłowy na https).


4

Dzieje się coś podejrzanego. Prawdopodobnie błąd na githubie, który nie jest spójny (testy A / B?)

Jestem na Windows10, używam Firefoxa. Właśnie skopiowałem adres URL kasy i otrzymałem dodatkowy znak. Ale tylko za pierwszym razem. Za drugim razem go tam nie było. Musiałem spojrzeć na mój plik historii, aby go zobaczyć!

oto moja historia:

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

polecenie historii nie pokazuje dodatkowego znaku. Tak jak nie był renderowany, kiedy kopiowałem i wklejałem go do terminala. Możesz zobaczyć, jak próbowałem usunąć „s”, a następnie cały protokół? Dopiero wtedy, gdy klawisz Backspace przesunął o jeden znak mniej, niż się spodziewałem, mogłem zbadać dalej!

Zapisałem plik historii powłoki na komputerze za pomocą edytora szesnastkowego i:

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

Istnieje IA c2 96char wstawiony przed URL. Nie mam pojęcia, co to jest. Czy nie jest to rozszerzone ASCII (gdzie by to było –) i było ukryte z prawie każdego miejsca, które wkleiłem, gdy było w schowku. Najbliższy, jaki znalazłem z tą wartością szesnastkową, to https://www.fileformat.info/info/unicode/char/c298/index.htm, ale nigdzie nie widziałem prefiksu utf (znowu mógł zostać utracony )

To wszystko może być mylące, ponieważ zgubiłem stronę / schowek i pracuję wyłącznie z zapisanym plikiem historii powłoki, w którym może brakować danych z oryginalnego wstrzyknięcia błędu / złośliwego oprogramowania.


2

Problem

git clone https://github.com/rojarfast1991/TestGit.git fatal: protokół „https” nie jest obsługiwany

Rozwiązanie:

Kroki:

(1): - Otwórz nowy terminal i sklonuj repozytorium git

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

(2) Otworzy się automatyczny monit logowania git i zostanie poproszony o wprowadzenie poświadczeń użytkownika.

Nazwa użytkownika: - xxxxxxx

Hasło: - xxxxxxx

Wreszcie rozpocznie się klonowanie ...

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

Napotkałem ten sam problem po świeżej instalacji gita w systemie Windows 10 i uruchomieniu go po raz pierwszy. Ponowne uruchomienie okna bash rozwiązało problem.


1

Użyj protokołu http zamiast https ; wyświetli ostrzeżenie i przekieruje do https, zostanie sklonowany bez żadnych problemów.

$ 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

Miałem ten sam problem, wszystko, co zrobiłem, to ponownie uruchomić wiersz poleceń, a następnie przejść do folderu dokumentów, a nie do folderu użytkownika, używając polecenia `` dokumenty cd ''. To powinno być wszystko, czego potrzeba. Upewnij się również, że łącze jest poprawne.


0

Być może używasz komputera z systemem Windows lub Linux, na którym nie zalogowałeś się do git hub, więc certyfikat nie został zweryfikowany. Z systemu, w którym otrzymujesz błąd, zaloguj się do github z poświadczeniami, a następnie spróbuj użyć polecenia, które zadziała. Powodzenia



0

Próbowałem wielu sposobów, aby to rozwiązać. Ale ciągle zawodzę. Potem zrobiłem to:

Otwórz Git Bash> przejdź do directory> wklejgit clone https://shahadat@bitbucket.org/*******.git potem wiersza polecenia zostaną pokazane dać poświadczenia logowania. Podaj poświadczenia i sklonuj swój projekt.


0
Próbowałeś tego:

clt + V

Wystarczy kliknąć prawym przyciskiem myszy i kliknąć wklej

Mam nadzieję, że to zadziała


0

Otrzymałem ten błąd, gdy próbowałem być sprytny i samodzielnie wyodrębnić adres URL do klonowania z adresu URL repozytorium. Źle to zrobiłem. Ja robiłem:

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

gdzie musiałem zrobić:

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

Miałem 3 błędy:

  • nie https://
  • po tym, .comjak potrzebuję :zamiast/
  • na koniec potrzebuję .git

0

Ten problem utrzymywał się nawet po poprawce z większości pozytywnych odpowiedzi.

Dokładniej, wkleiłem link bez "Ctrl + v", ale nadal dałem fatal: protocol 'https' is not supported.

Ale jeśli skopiujesz tę wiadomość w systemie Windows lub w pasku wyszukiwania Google, zobaczysz, że rzeczywista wiadomość to fatal: protocol '##https' is not supported, gdzie „#” oznacza ten znak . Jak widać, te 2 znaki nie zostały usunięte.

Pracowałem nad IntelliJ IDEA Community Edition 2019.2.3 i następująca poprawka odnosi się do tego narzędzia, ale odpowiedź brzmi, że te 2 znaki nadal istnieją i należy je usunąć z łącza .

Poprawka IntelliJ

Przejdź do górnego paska, wybierz VCS -> Git -> Remotes ... i kliknij.

Teraz otworzy coś, co łączy to

wprowadź opis obrazu tutaj

Możesz zobaczyć te 2 nierozpoznane znaki. Musimy je usunąć. Albo kliknij ikonę edycji i usuń te 2 znaki, albo możesz usunąć łącze i dodać nowe.

Upewnij się, że w folderze projektu znajduje się folder „.git” .

wprowadź opis obrazu tutaj

A teraz powinno tak wyglądać. Kliknij „OK”, a teraz możesz przesyłać pliki do repozytorium git.

wprowadź opis obrazu tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.