Cómo vincular a un número de línea específico en GitHub

7 minutos de lectura

avatar de usuario de sfletche
sfletch

Sé que puedo vincular a un número de línea específico en un archivo en un repositorio de GitHub (estoy seguro de haber visto esto antes)…

¿Cómo puedo hacer esto?

avatar de usuario de broc.seib
broc.seib

¡No se limite a vincular a los números de línea! Asegúrese de usar el URL canónica también. De lo contrario, cuando se actualice ese archivo, ¡tendrá una URL que apunta a las líneas incorrectas!

Cómo hacer un enlace permanente a las líneas correctas:

Haga clic en el número de línea que desee (como la línea 18), y la URL en su navegador obtendrá un #L18 pegado al final. Literalmente haces clic en el 18 en el lado izquierdo, no la línea de código. Se ve como esto:

línea 18 seleccionada

Y ahora la URL de su navegador se ve así:

https://github.com/git/git/blob/master/README.md?plain=1#L18

Si desea seleccionar varias líneas, simplemente mantenga presionada la tecla Mayús y haga clic en un segundo número de línea, como la línea 20. Se ve así:

ingrese la descripción de la imagen aquí

Y ahora la URL de su navegador se ve así:

https://github.com/git/git/blob/master/README.md?plain=1#L18-L20

Aquí está la parte importante:

Ahora obtenga la url canónica para ese compromiso en particular presionando el botón y llave. La URL en su navegador cambiará para convertirse en algo como esto:

https://github.com/git/git/blob/5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3/README#L18-L20

Ese enlace contiene el hash SHA real para esa confirmación en particular, en lugar de la versión actual del archivo en master. Eso significa que este enlace funcionará para siempre y no apuntará a las líneas 18-20 de cualquier versión futura de ese archivo que pueda contener.

Ahora disfruta del brillo de tu nuevo enlace permanente. 😉

actualización 29/09/2017: Como señaló @watashiSHUN, github ahora ha facilitado la obtención del enlace permanente al proporcionar un ... menú a la izquierda después de seleccionar una o más líneas. Consulte también la respuesta de @watashiSHUN.

Menú de enlaces permanentes de GitHub

actualización 25/03/2016: Caso en cuestión: en el ejemplo anterior, me referí al archivo “LÉAME” en la URL. Esas URL no canónicas realmente funcionaron cuando se escribió esta respuesta. Pero ahora esas urls ya no funcionan desde README fue movido a README.md. Pero la URL canónica con hash SHA aún funciona, tal como se esperaba.

actualización 17/04/2022: Algunos archivos son “procesables” como archivos de rebajas. Github requiere ?plain=1 para mostrar el contenido de ellos en lugar de renderizar.

  • La tecla y no hace nada por mí. ¿Esto ha sido cambiado? Probando desde Google Chrome Dev Channel.

    – k0pernikus

    5 de diciembre de 2015 a las 23:39

  • Todavía funciona… Los documentos todavía dicen que se use y clave también… help.github.com/articles/getting-permanent-links-to-files

    – broc.seib

    6 de diciembre de 2015 a las 16:23

  • ¡Ese Mayús + clic en la segunda línea de un bloque es bueno! Estaba editando manualmente la URL para agregar la segunda línea :). Sin embargo, haga una pregunta de seguimiento, ¿qué sucede si quisiera resaltar las líneas 2, 4 y 17-22? ¿Es eso posible o solo puedo resaltar un bloque a la vez?

    – inclinación

    24/03/2016 a las 23:33

  • @ tr3buchet Acabo de hacer ping al soporte de github; no es posible en este momento. Dijeron que considerarían la característica, pero no hay promesas. Ofrecí que el formato fuera algo así como L18-L20,L29y que una persona podría CTRL-haga clic para agregar líneas no consecutivas. Creo que tu idea es una gran sugerencia y sería muy útil.

    – broc.seib

    25 de marzo de 2016 a las 14:39


  • Y si README es README.md?

    – zwcloud

    11 de abril de 2018 a las 5:21


avatar de usuario de watashiSHUN
watashiSHUN

@broc.seib tiene una respuesta sofisticada, Sólo quiero señalar que en lugar de presionar y para obtener el enlace permanente, github ahora tiene una interfaz de usuario muy simple que te ayuda a lograrlo

  1. Seleccione la línea haciendo clic en el número de línea o seleccione varias líneas manteniendo presionado shift(igual que cuando selecciona varias carpetas en el explorador de archivos)
    ingrese la descripción de la imagen aquí

  2. en la esquina derecha de la primera línea que seleccionó, expanda ... y haga clic copy permalink
    ingrese la descripción de la imagen aquí

  3. eso es todo, un enlace con las líneas seleccionadas y el hash de confirmación se copian en el portapapeles:
    https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4

Avatar de usuario de Gayan
Gayán

un enlace permanente a un fragmento de código se pega en un campo de comentario de solicitud de extracción

Puede usar enlaces permanentes para incluir fragmentos de código en problemas, relaciones públicas, etc.

Referencias:

https://help.github.com/en/articles/creating-a-permanent-link-to-a-code-snippet

  • ¡Muy buen gif!

    – Giovanni Benussi

    13 de junio de 2018 a las 14:08

  • Disculpa por el off-topic, pero que herramienta usas para hacerlo?

    – Giovanni Benussi

    13 de junio de 2018 a las 14:10

  • @GiovanniBenussi Es de GitHub. Ver el enlace.

    – Gayán

    13 de junio de 2018 a las 14:18

  • Me refiero al gif 😛 jajaja

    – Giovanni Benussi

    13 jun 2018 a las 16:40

  • @GiovanniBenussi No sé qué reversiblean usó, pero ocasionalmente hago gifs como este usando una buena herramienta llamada “screentogif”, deberías probarla github.com/NickeManarin/ScreenToGif

    – SamGamgee

    25 de junio de 2018 a las 8:01

Avatar de usuario de Leigh
Leigh

Haga clic en el número de línea y luego copie y pegue el enlace de la barra de direcciones. Para seleccionar un rango, haga clic en el número y luego presione Mayús y haga clic en el número posterior.

Alternativamente, los enlaces tienen un formato relativamente simple, simplemente agregue #L<number> hasta el final para ese número de línea específico, usando el enlace al archivo. Aquí hay un enlace a la tercera línea del git del repositorio README:

https://github.com/git/git/blob/master/README#L3

Captura de pantalla con la línea resaltada y la línea de dirección modificada

Avatar de usuario de DBagBaggerWithSwagger
DBagBaggerConSwagger

Muchos editores (pero también ver el Comandos sección a continuación) admite la vinculación al número de línea o rango de un archivo en GitHub o BitBucket (u otros). Aquí hay una breve lista:

Átomo

Abrir en GitHub

Emacs

Git-enlace

Texto sublime

GitLink

Empuje

gitlink-vim


Comandos

  • Git-enlace – Subcomando de Git para obtener un enlace del navegador de repositorios a un objeto de Git
  • Dios mío – Abra la URL de github que coincida con la rama actual y el directorio de trabajo de su shell

Avatar de usuario de Dave Powers
dave poderes

Relacionado con cómo vincular a la README.md de un repositorio de GitHub a un número de línea de código específico

Tienes tres casos:

  1. Podemos enlace a (disfraz comprometerse)

    Pero Link SIEMPRE vinculará a la versión anterior del archivo, que NO contendrá nuevas actualizaciones en la rama principal, por ejemplo. Ejemplo:

    https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
    
  2. Podemos enlace a (disfraz rama) como (maestro-rama). Pero el enlace SIEMPRE vinculará a la última versión del archivo que contendrá nuevas actualizaciones. Debido a las nuevas actualizaciones, el enlace puede apuntar a un número de línea comercial no válido. Ejemplo:

    https://github.com/username/projectname/blob/master/file.txt#L10
    
  3. GitHub NO puede hacer un enlace AUTOMÁTICO a ningún archivo ni a (compromiso personalizado) ni (rama principal) debido a los siguientes problemas comerciales:

    • línea significado comercial, para vincularlo en el nuevo archivo
    • longitud del código resaltado de destino que se puede cambiar

Vinculación al número de línea en la wiki de GitHub

Estaba teniendo problemas para encontrar cómo vincular a una ubicación específica en la wiki de GitHub y terminé descubriendo esto. Esto podría ser de conocimiento común pero yo no sabía esto y alguien más podría encontrarlo útil.

Al navegar por un archivo wiki, puede colocar el mouse sobre un texto de encabezado específico y aparecerá un icono de enlace. Al hacer clic en este ícono de enlace, se actualizará la URL de navegación de su navegador (por ejemplo: https://github.com/user/repository/wiki/Test#title-1). Este sería el enlace a esa ubicación específica en el archivo wiki.

ingrese la descripción de la imagen aquí

¿Ha sido útil esta solución?