¿Cuáles son los formatos de URL de Git admitidos?

2 minutos de lectura

Git acepta muchos formatos de URL diferentes (por ejemplo, ssh, http, https, etc.). ¿Existen especificaciones/documentos oficiales donde pueda encontrar los formatos de url de git admitidos?

escribí un analizador de URL git y quiero estar seguro de que lo que se hace allí es correcto.

Aquí, en YonderGit, Encontré la lista a continuación. No está completo desde https://<token>:x-oauth-basic@host.xz/path/to/repo.git No está ahí.

Protocolo de transporte de shell seguro

  • ssh://user@host.xz:port/path/to/repo.git/
  • ssh://user@host.xz/path/to/repo.git/
  • ssh://host.xz:port/path/to/repo.git/
  • ssh://host.xz/path/to/repo.git/
  • ssh://user@host.xz/path/to/repo.git/
  • ssh://host.xz/path/to/repo.git/
  • ssh://user@host.xz/~user/path/to/repo.git/
  • ssh://host.xz/~user/path/to/repo.git/
  • ssh://user@host.xz/~/path/to/repo.git
  • ssh://host.xz/~/path/to/repo.git
  • user@host.xz:/path/to/repo.git/
  • host.xz:/path/to/repo.git/
  • user@host.xz:~user/path/to/repo.git/
  • host.xz:~user/path/to/repo.git/
  • user@host.xz:path/to/repo.git
  • host.xz:path/to/repo.git
  • rsync://host.xz/path/to/repo.git/

Protocolo de transporte Git

  • git://host.xz/path/to/repo.git/
  • git://host.xz/~user/path/to/repo.git/

Protocolo de transporte HTTP/S

  • http://host.xz/path/to/repo.git/
  • https://host.xz/path/to/repo.git/

Protocolo de transporte local (sistema de archivos)

  • /path/to/repo.git/
  • path/to/repo.git/
  • ~/path/to/repo.git
  • file:///path/to/repo.git/
  • file://~/path/to/repo.git/

Puedes ver lo que git está preparado para analizar urlmatch.h y urlmatch.c.
Eso es usado por t0110-urlmatch-normalization.shque ilustra la lista completa de posibles URL probadas por git.

url.c menciona:

El conjunto de esquemas de URL válidos, según STD66 (RFC3986) es ‘[A-Za-z][A-Za-z0-9+.-]*‘.
Pero use un control ligeramente más flexible de ‘[A-Za-z0-9][A-Za-z0-9+.-]*‘ porque se usaba una versión anterior de check ‘[A-Za-z0-9]+‘ para no romper ningún ayudante remoto.

  • Estoy de acuerdo, s̶o̶m̶e̶t̶i̶m̶e̶s̶ a menudo, verificar el código fuente es la mejor documentación. 🙂 ¡Gracias!

    – Ionică Bizău

    4 de agosto de 2015 a las 6:11

  • @IonicăBizău sí, lo sospecho github.com/git/git/blob/master/t/… será la lista de URL de git más actualizada durante algún tiempo.

    – VoC

    4 de agosto de 2015 a las 6:12

  • ¡Eso también es muy útil!

    – Ionică Bizău

    4 de agosto de 2015 a las 6:15

¿Ha sido útil esta solución?