Git fatal: el protocolo 'https' no es compatible

190

Estoy revisando la guía de bifurcación de Github: https://guides.github.com/activities/forking/ y estoy tratando de clonar el repositorio en mi computadora. Sin embargo, ejecutando el comando:

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

También probé con SSH:

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

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

¿Necesito cambiar alguna configuración en mi computadora o es un problema con GitHub?

Editar: he reemplazado mi nombre de usuario y dirección IP con "."

Hank Lin
fuente
2
¿Puede verificar si hay caracteres especiales extraños en el texto copiado? Tal vez intente escribir la URL completa en lugar de copiarla desde github. Y tal vez también verifique si github.com realmente se resuelve en github o si hay algo que lo redirige a otro servidor.
lw1.at
1
O tal vez algún otro software en su computadora dañó el git instalado (consulte stackoverflow.com/questions/15553161/… ). En ese caso, reinstalarlo podría solucionar el problema.
lw1.at
2
Gracias por alguna razón reinicié la línea de comando y ahora funciona ...
Hank Lin

Respuestas:

565

El problema es probablemente esto.

Intentaste pegarlo usando

  • CTRL + V

antes y no funcionaba, así que seguiste adelante y lo pegaste con clásico

  • Right Click - Pegar**.

Lamentablemente, cada vez que ingresa CTRL+ V en la terminal , agrega

  • un escondido ^?

(al menos en mi máquina codificó así).

el personaje que solo aparece después de ti

  • backspace

(adelante, pruébalo en git bash).

Entonces tu enlace se convierte ^?https://...

que no es válido

usuario11452886
fuente
24
Esta es la solución!
devman
27
No puedo creer que tengamos que lidiar con cosas como esta. Personajes invisibles que hacen que tu trabajo dure más. ¡Gracias! Trabajó para mi.
Eterno
3
¡Gracias! ¡Eliminé y reescribí la h de https y funciona!
Walter Cejas
2
Eso fue todo. Estoy usando MINGW. Intenté ctrl + v y shift + ctrl + v antes de pegar y falló, pero después de intentar nuevamente usar la opción de pegar GUI clonó mi repositorio con éxito. ¡Gracias!
Frank
3
Quiero casarme con esta respuesta <3
crusy
22

Editar: Este problema particular de los usuarios se resolvió iniciando una nueva sesión de terminal.

A ?antes del protocolo (https) no es compatible. Tu quieres esto:

git clone [email protected]:octocat/Spoon-Knife.git

o esto:

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

Seleccionar la ubicación para clonar

TomDunning
fuente
Lo siento, no estoy seguro de por qué el "?" apareció cuando copié desde la línea de comando. He editado mi publicación.
Hank Lin
Pruebe cualquiera de estos comandos para mí, no sé por qué tiene un .después de github.com/pero no está bien.
TomDunning
2
Gracias. Reinicié la línea de comando y por alguna razón ahora funciona. Todavía estoy muy confundido por qué no funcionó para empezar.
Hank Lin
1
También resolví el problema abriendo una nueva línea de comando. Marqué la opción para abrir Git Bash cuando instalé Git y la usé para clonar git la primera vez. Esa puede ser la causa.
Independiente de Laconia
2
Reiniciar mi terminal solucionó el problema
Elkas
10

La respuesta simple es simplemente eliminar el https

Su repositorio : (git clon https: // ........ )

solo así (clon de git: // .......)

y otra vez escriba (git clone https: // ........ )

Problema Resuelve 100% ...

Aneel Khalid
fuente
8

Simplemente use comillas dobles con URL, como: git clone "https://yourRepoUrl"

(De alguna manera, ve que está utilizando 2 comillas al inicio, no sé por qué).

Recibía el mismo error => fatal: protocol ''https' is not supported(puede ver 2 comillas en https).

Konstantine Berulava
fuente
4

Hay algo sospechoso. Probablemente un error de github que no es consistente (¿pruebas A / B?)

Estoy en Windows10, usando Firefox. Acabo de copiar una URL de pago y obtuve un carácter adicional. Pero solo la primera vez. Una segunda vez no estaba allí. ¡Tuve que mirar mi archivo de historial para verlo!

Aquí está mi 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

el comando de historial no muestra el carácter adicional. Al igual que no se procesó cuando estaba copiando y pegando en la terminal. ¿Puedes ver cómo intenté eliminar la 's' y luego todo el protocolo? ¡Solo me activaron para investigar más cuando la tecla de retroceso movió un carácter menos de lo que esperaba!

Guardé mi archivo de historial de shell en una máquina con un editor hexadecimal y:

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

Hay un c2 96carácter insertado antes de la url. Ni idea de que es eso. ¿No está extendido ASCII (donde estaría –) y estaba oculto de casi todos los lugares que pegué mientras estaba en el portapapeles. Lo más cercano que he encontrado con este valor hexadecimal sería https://www.fileformat.info/info/unicode/char/c298/index.htm pero no vi el prefijo utf en ninguna parte (de nuevo, podría haberse perdido )

Todo esto puede ser engañoso ya que perdí la página / portapapeles y estoy trabajando exclusivamente desde el archivo de historial de shell guardado, que bien podría estar perdiendo datos del error original / inyección maliciosa.

gcb
fuente
2

Problema

git clone https://github.com/rojarfast1991/TestGit.git fatal: el protocolo 'https' no es compatible

Solución:

Pasos:

(1): - Abra la nueva terminal y clone el repositorio git

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

(2) Se abrirá el mensaje de inicio de sesión automático de git y se le pedirá que ingrese una credencial de usuario.

Nombre de usuario: - xxxxxxx

Contraseña: - xxxxxxx

Finalmente, la clonación comenzará ...

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.
Mukesh Kumar
fuente
1

Encontré el mismo problema después de instalar recientemente git en Windows 10 y ejecutarlo por primera vez. Reiniciar la ventana bash resolvió el problema.

lunes
fuente
1

Use http en lugar de https ; dará un mensaje de advertencia y redirigirá a https, se clonará sin ningún problema.

$ 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.
KARTHIKEYAN.A
fuente
0

Tuve el mismo problema, todo lo que hice fue reiniciar la línea de comandos y luego navegar a la carpeta de documentos en lugar de la carpeta de usuario con el comando '' documentos de CD ''. Eso debería ser todo lo que se necesita. También asegúrese de que el enlace sea correcto.

Alara_stealth
fuente
0

Es posible que esté utilizando una computadora Windows o Linux donde no haya iniciado sesión en git hub por lo que el certificado no se verifica. Desde el sistema donde obtiene error, inicie sesión en github con la credencial y luego intente usar el comando que funcionará. Buena suerte

Mahendra Sirkar
fuente
0

He intentado muchas formas de resolver esto. Pero he fallado una y otra vez. Entonces hice esto:

Abrir Git Bash> Cesta de la directory> pegar el git clone https://[email protected]/*******.gitdespués de eso se mostrará un símbolo del sistema para dar las credenciales de inicio de sesión. Dé las credenciales y clone su proyecto.

Shahadat Hossain
fuente
0
Intentaste esto:

clt + V

Simplemente haga clic derecho y haga clic en pegar

Espero que esto funcione

Khushwant kodecha
fuente
0

Recibí este error cuando intentaba ser inteligente y extraer la URL de clonación de la URL del repositorio. Lo hice mal Estaba haciendo:

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

donde tuve que hacer:

[email protected]:Project/Core-iOS.git

Tuve 3 errores:

  • no lo hizo https://
  • después .comnecesito en :lugar de/
  • al final necesito un .git
Miel
fuente
0

Este problema persistió incluso después de la solución de la respuesta más votada.

Más específicamente, pegué en el enlace sin "Ctrl + v", pero aún así dio fatal: protocol 'https' is not supported.

Pero si copia ese mensaje en Windows o en la barra de búsqueda de Google, verá que el mensaje real es fatal: protocol '##https' is not supported, donde '#' representa este carácter . Como puede ver, esos 2 caracteres no se han eliminado.

Estaba trabajando en IntelliJ IDEA Community Edition 2019.2.3 y la siguiente corrección se refiere a esta herramienta, pero la respuesta es que esos 2 caracteres todavía están allí y deben eliminarse del enlace .

IntelliJ fix

Vaya a la barra superior, seleccione VCS -> Git -> Remotos ... y haga clic.

Ahora se abrirá algo enlace esto

ingrese la descripción de la imagen aquí

Puedes ver esos 2 personajes no reconocidos. Tenemos que eliminarlos. Haga clic en el icono de edición y elimine esos 2 caracteres o puede eliminar el enlace y agregar uno nuevo.

Asegúrese de tener la carpeta ".git" en su carpeta de proyecto .

ingrese la descripción de la imagen aquí

Y ahora debería ser así. Haga clic en "Aceptar" y ahora puede enviar archivos a su repositorio git.

ingrese la descripción de la imagen aquí

Justice Bringer
fuente