Git fatal: le protocole 'https' n'est pas pris en charge


190

Je suis en train de parcourir le guide de forking de Github: https://guides.github.com/activities/forking/ et j'essaye de cloner le référentiel sur mon ordinateur. Cependant, en exécutant la commande:

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

Également essayé avec 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.

Dois-je modifier certains paramètres de configuration sur mon ordinateur ou s'agit-il d'un problème avec GitHub?

Edit: j'ai remplacé mon nom d'utilisateur et mon adresse IP par "."


2
Pouvez-vous vérifier s'il y a des caractères spéciaux étranges dans le texte copié. Essayez peut-être de taper l'URL entière au lieu de la copier depuis github. Et peut-être aussi vérifier si github.com se résout vraiment en github ou s'il y a quelque chose qui le redirige vers un autre serveur.
lw1.at

1
Ou peut-être qu'un autre logiciel sur votre ordinateur a corrompu le git installé (voir stackoverflow.com/questions/15553161/… ). Dans ce cas, la réinstallation peut résoudre le problème.
lw1.at

2
Merci pour une raison quelconque, j'ai redémarré la ligne de commande et maintenant cela fonctionne ...
Hank Lin

Réponses:


565

Le problème est probablement celui-ci.

Vous avez essayé de le coller en utilisant

  • CTRL + V

avant et cela ne fonctionnait pas, vous avez donc continué et collé avec classique

  • Right Click - Pâte**.

Malheureusement, chaque fois que vous entrez CTRL+ V sur le terminal, il ajoute

  • un caché ^?

(au moins sur ma machine, il est encodé comme ça).

le personnage que vous n'apparaissez qu'après vous

  • backspace

(allez-y et essayez-le sur git bash).

Alors votre lien devient ^?https://...

qui est invalide.


24
c'est la solution!
devman

27
Je ne peux pas croire que nous devons faire face à des choses comme ça Des personnages invisibles qui prolongent la durée de votre travail. Merci! A travaillé pour moi.
Eternal

3
Merci! J'ai supprimé et réécrit le h de https et cela fonctionne!
Walter Cejas

2
C'était ça. J'utilise MINGW. J'ai essayé ctrl + v et shift + ctrl + v avant de coller et cela a échoué, mais après avoir essayé à nouveau en utilisant l'option de collage GUI, il a cloné mon référentiel avec succès. Merci!
Frank

3
Je veux épouser cette réponse <3
crusy

22

Edit: Ce problème d'utilisateurs particulier a été résolu en démarrant une nouvelle session de terminal.

Un ?avant le protocole (https) n'est pas pris en charge. Tu veux ça:

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

ou ca:

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

Sélection de l'emplacement à cloner


Pardon, je ne sais pas pourquoi le "?" apparu lorsque j'ai copié à partir de la ligne de commande. J'ai édité mon message.
Hank Lin

Essayez l'une de ces commandes pour moi, je ne sais pas pourquoi vous avez un .après, github.com/mais ce n'est pas correct.
TomDunning

2
Merci, j'ai redémarré la ligne de commande et pour une raison quelconque, cela fonctionne maintenant. Je ne sais toujours pas pourquoi cela n'a pas fonctionné au départ.
Hank Lin

1
J'ai également résolu le problème en ouvrant une nouvelle ligne de commande. J'ai coché l'option pour ouvrir Git Bash lors de l'installation de Git et je l'ai utilisé pour cloner git la première fois. Cela peut être la cause.
Détaché laconien le

2
Le redémarrage de mon terminal a résolu le problème
Elkas


8

Utilisez simplement des guillemets doubles avec l'URL, comme: git clone "https://yourRepoUrl"

(Il voit en quelque sorte que vous utilisez 2 guillemets au début, je ne sais pas pourquoi).

J'obtenais la même erreur => fatal: protocol ''https' is not supported(vous pouvez voir 2 guillemets sur https).


4

Il se passe quelque chose de louche. Probablement un bogue github qui n'est pas cohérent (test A / B?)

Je suis sous windows10, en utilisant Firefox. Je viens de copier une URL de paiement et j'ai un caractère supplémentaire. Mais seulement la première fois. Une deuxième fois, ce n'était pas là. J'ai dû regarder mon historique pour le voir!

voici mon histoire:

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

la commande history n'affiche pas le caractère supplémentaire. Tout comme il n'a pas été rendu lorsque je l'ai copié-collé dans le terminal. Vous pouvez voir comment j'ai essayé de supprimer les «s», puis tout le protocole? Je n'ai été déclenché pour enquêter plus loin que lorsque la touche de retour arrière a déplacé un caractère de moins que ce que j'attendais!

J'ai enregistré mon fichier d'historique de shell sur une machine avec un éditeur hexadécimal et:

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

Il y a un caractère c2 96inséré avant l'url. Aucune idée de ce que c'est. N'est-ce pas ASCII étendu (où il serait –) et il a été caché de presque tous les endroits que j'ai collés alors qu'il était dans le presse-papiers. Le plus proche que j'ai trouvé avec cette valeur hexadécimale serait https://www.fileformat.info/info/unicode/char/c298/index.htm mais je n'ai vu le préfixe utf nulle part (encore une fois, il aurait pu être perdu )

Tout cela peut être trompeur car j'ai perdu la page / le presse-papiers et je travaille exclusivement à partir du fichier d'historique du shell enregistré, qui pourrait très bien manquer des données du bogue / injection malveillante d'origine.


2

Problème

git clone https://github.com/rojarfast1991/TestGit.git fatal: le protocole 'https' n'est pas pris en charge

Solution:

Pas:

(1): - Ouvrez le nouveau terminal et clonez le dépôt git

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

(2) L'invite de connexion automatique à git s'ouvrira et il vous sera demandé de saisir un identifiant d'utilisateur.

Nom d'utilisateur: - xxxxxxx

Mot de passe: - xxxxxxx

Enfin, le clonage commencera ...

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

J'ai rencontré le même problème après avoir récemment installé git sur Windows 10 et l'avoir exécuté pour la première fois. Le redémarrage de la fenêtre bash a résolu le problème.


1

Utilisez http au lieu de https ; il donnera un message d'avertissement et redirigera vers https, sera cloné sans aucun problème.

$ 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

J'ai eu le même problème, tout ce que j'ai fait était de redémarrer la ligne de commande, puis de naviguer vers le dossier du document plutôt que le dossier de l'utilisateur en utilisant la commande '' cd documents ''. Cela devrait être tout ce dont vous avez besoin. Assurez-vous également que le lien est correct.


0

Vous utilisez peut-être un ordinateur Windows ou Linux sur lequel vous ne vous êtes pas connecté à git hub afin que le certificat ne soit pas vérifié. À partir du système où vous obtenez une erreur de connexion à github avec les informations d'identification, essayez d'utiliser la commande, cela fonctionnera. Bonne chance



0

J'ai essayé de nombreuses façons de résoudre ce problème. Mais je suis échoué encore et encore. Puis j'ai fait ceci:

Ouvrir Git Bash> allez à votre directory> coller l' git clone https://shahadat@bitbucket.org/*******.gitaprès une invite de commande sera affichée pour donner les informations de connexion. Donnez les informations d'identification et clonez votre projet.


0
Vous avez essayé ceci:

clt + V

Faites un clic droit et cliquez sur coller

J'espère que cela fonctionnera


0

J'ai eu cette erreur lorsque j'essayais d'être intelligent et d'extraire moi-même l'URL de clonage de l'URL du dépôt. Je l'ai mal fait. Je faisais:

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

où je devais faire:

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

J'ai eu 3 erreurs:

  • n'a pas https://
  • après .comj'ai besoin :au lieu de/
  • à la fin j'ai besoin d'un .git

0

Ce problème a persisté même après le correctif de la réponse la plus votée.

Plus précis, j'ai collé dans le lien sans "Ctrl + v", mais ça a quand même donné fatal: protocol 'https' is not supported.

Mais si vous copiez ce message dans Windows ou dans la barre de recherche Google, vous verrez que le message réel est fatal: protocol '##https' is not supported, où «#» représente ce caractère . Comme vous pouvez le voir, ces 2 personnages n'ont pas été supprimés.

Je travaillais sur IntelliJ IDEA Community Edition 2019.2.3 et le correctif suivant fait référence à cet outil, mais la réponse est que ces 2 caractères sont toujours là et doivent être supprimés du lien .

Correction IntelliJ

Allez dans la barre supérieure, sélectionnez VCS -> Git -> Télécommandes ... et cliquez sur.

Maintenant, il va ouvrir quelque chose de lien ceci

entrez la description de l'image ici

Vous pouvez voir ces 2 caractères non reconnus. Nous devons les supprimer. Cliquez sur l'icône d'édition et supprimez ces 2 caractères ou vous pouvez supprimer le lien et en ajouter un nouveau.

Assurez-vous que vous avez le dossier ".git" dans votre dossier de projet .

entrez la description de l'image ici

Et maintenant ça devrait aimer ça. Cliquez sur "Ok" et maintenant vous pouvez pousser les fichiers vers votre référentiel git.

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.