Capítulo 5 Flujos de trabajo colaborativo
Traducción del capítulo 29 “Time travel: See the past” del libro de “Happy Git with R” de Jenny Bryan
A veces necesitarás volver a revisar varios documentos de tu proyecto, debido a que lo que buscas está bastantes atrás. Por ejemplo:
- “Me gustó más la paleta de colores que usamos en la visualización la semana pasada”
- “¿Qué pasó que tenemos un outlier en la figura Nº2?”
- “No está funcionando correctamente en Windows hace dos semanas”
Seguramente para resolver todos estos problemas, tendrás que viajar en el tiempo al pasado de tus archivos y bases de datos.
5.1 ¡Los hipervínculos (hyperlinks) son increíbles!
Esta es una de las funciones con la que GitHub (y GitLab o BitBucket) realmente se destaca. Podemos rápidamente explorar diferentes commits/states, cambiar entre ramas, inspeccionar documentos individuales y revisar la discusión entre issues, lo que lo hace una herramienta increiblemente poderosa.
Sí, técnicamente puedes visitar todos los estados pasados de tu proyecto usando los comandos de Git localmente; pero esa opción es significamente más incomoda de realizar. Para eso, en general, tienes que revisar estados antiguos lo que acrecienta la probabilidad de cometer algún error agregando modificaciones en la rama (branch) incorrrecta.
El trabajo con los hypervínculos de GitHub en tu repositorio e historial es una de las principales razones para realizar la sincronización del trabajo local con un copia en GitHub, debido a que involucra acciones remotas y de solo lectura, no habiendo posibilidades de comprometer un nuevo trabajo en la rama equivocada.
5.2 Examinar el historial de commits
Para ingresar al historial de commits, haz click a la izquierda en el boton llamado “xyz commits” (como se ve en la imagen Nº1). Cada repositorio contará con un número distinto en donde está “xyz”, que corresponderá al número total de commits realizados en el pasado. Según el cliente local de Git, al hacer click incluso podrás visualizar una descripción gráfica del historial.
![Acceso al historial de todos los commits ya realizados.](img/5.4.imagen1.png)
Figura 5.1: Acceso al historial de todos los commits ya realizados.
Al ingresar al historial de los commits, tendrás tres formas de obtener más información sobre cada commit en específico:
Usando el icono de un portapapeles (o clipboard) puedes copiar el SHA-1 del commit. Al hacer eso, facilita que puedas hacer referencia a este en otros medios o documentos. Por ejemplo, puedes usarlo para hacer referencia a ese commit en específico en un issue o una conversación sobre ello.
Haz click en el SHA-1 abreviado para ver las diferencias asociadas con el commit. El SHA-1 abreviado son los números y letras juntos a la derecha.
Haz click en los signos de desigualdad dobles
<>
para revisar el estado del repositorio completo en ese momento.
![Ejemplo sobre cómo ver los detalles de cada commit en específico](img/5.4.imagen2.png)
Figura 5.2: Ejemplo sobre cómo ver los detalles de cada commit en específico
Para volver a la página principal del repositorio, solo haz click en USUARIA/REPO que aparece arriba a la izquierda. De esa forma, irás de regreso al estado actual del repositorio.
Una vez que identifiques el commit (o diff o file state) que buscabas, puedes copiar el URL de la web y usarlo para promover la discusión online en otro lado. De esta forma, por ejemplo, puedes atraer a otras personas a la vista exacta del repositorio. Este uso de los hyperlinks puede hacer que la discusión online sea mucho más precisa y eficiente.
5.3 Consultas basadas en archivos
¿Qué pasa si estás interesado/a en cómo un archivo específico llegó a ser cómo es? Entonces lo que tienes que hacer es ir al archivo de tu interés, y localizar los botones “Blame” y “History” en la esquina superior derecha (ver imagen nº3)
![Cómo revisar más detalles de un documento específico en GitHub.](img/5.4.imagen3.png)
Figura 5.3: Cómo revisar más detalles de un documento específico en GitHub.
“Blame”: Esta visualización del archivo está relacionada con ciertos detalles sobre el origen de las líneas de comando. Te mostrará quién modificó por última vez cada línea del archivo, hace cuanto tiempo y el mensaje de confirmación asociado a ello. Haz click en el mensaje del commit para ver ese commit. O puedes hacer click en el icono con forma de rectángulos apilados para retroceder más en el tiempo. Esta forma puede ser útil para cuando se hace un análisis del proceso en un conjunto específico y pequeño de líneas de comando.
“History”: Al ver en el historial de un archivo, podrás visibilizar los commits que afectan el archivo de interés. Esto lo verás de forma muy similar al historial completo de commits visto anteriormente. Este botón es útil para cuando estás intentando comprender algo un poco difuso y este historial te ayuda a tener un marco general de la historia del archivo.
Hyperlinks a una línea específica en una fecha específica
Cuando estés viendo un documento (file) en GitHub, puedes hacer click en el número de una línea para destacarlo. Usa click … shift-clic
para seleccionar un rango de líneas. Un ejemplo de esto entregado por Jenny Bryan, lo encuentras en el siguiente link:
https://github.com/OWNER/REPO/blob/SHA/path/to/file.R#L27-L31
Si el URL no contiene el SHA, escribe “y” para alternar en esta forma.
El uso de estas URL y SHA específicos son una excelente forma de indicar a otras personas unas líneas de código en particular durante conversaciones en línea. Si puedes, y cómo buena práctica, usa los links más feos que contienen el SHA, ya que estos resistirán el paso del tiempo.
5.4 Buscar información en GitHub
Para realizar cualquier búsqueda, GitHub cuenta siempre con el buscador en la esquina izquierda superior (ver imagen nº4).
![Barra de búsqueda de GitHub](img/5.4.imagen4.png)
Figura 5.4: Barra de búsqueda de GitHub
Una vez que ingreses un texto en la barra de búsqueda, un menú se despliega, entregándote la opción de buscar en el respositorio actual (el predeterminado) o en todo GitHub. Lo que hace GitHub es buscar en los contenidos de los documentos (files o descritos cómo “codes”), mensajes de commits y en los issues. Por lo cual puedes tomar ventaja de los resultados de búsqueda en estos diferentes dominios. Esta herramienta permite un preciso acercamiento a las líneas de códigos, volver a visitar un momento específico en el historial del proyecto de tu interés, o volver a descubrir una conversación.
Búsqueda sobre un Issue específico
Si lo que necesitas es buscar sobre un issue específico, entonces en el cuadro de búsqueda de cualquier página con los issues de un repositorio, escribe primero los filtros is:issue
o is:open
.