Chapter 6 Github

Ahora aprenderemos a usar el control de cambios por excelencia del mundo de la programación: GITHUB.

6.1 Repositorios

Un repositorio es un espacio centralizado donde se almacena, organiza, mantiene y difunde información digital, habitualmente archivos informáticos, que pueden contener trabajos científicos, conjuntos de datos o software . Los repositorios tienen sus inicios en los años 90, en el área de la física y las matemáticas, donde los académicos aprovecharon la red para compartir sus investigaciones con otros colegas. Este proceso era valioso porque aceleraba el ciclo científico de publicación y revisión de resultados.

Como hemos visto, para poder integrar un documento en Rmd necesitamos de distintos documentos auxiliares: imagenes, scripts de R o python, archivos BIB, archivos CSL, archivos latex, entre otros.

Cuando Rmd integra un documento necesita tener todos sus archivos auxiliares a la mano, por eso debemos trabajar en una sola carpeta. Además si tenemos más carpetas dentro de nuestra subcarpeta, entonces para acceder a sus contenidos tenemos que poner la ubicación exacta de la carpeta en nuestro documento.

De esta manera podemos crear pequeñas librerias donde ponemos todos los ingredientes y las instrucciones para que cualquier persona replique nuestro trabajo y documento.

Esta es la estructura de una pagina de internet

6.2 Repositorios en Github

Github es la administradora de repositorios más popular de todo el mundo. Aquí y en China se desarrollan todos los días programas, páginas, análisis de datos entre otros documentos virtuales en Github.

Su uso es muy sencillo:

  • Creen un repositorio

  • Trabajen su archivo de manera local y arrastren la carpeta.

  • Listo, ahora todo mundo tiene acceso a su carpeta (pueden hacer carpetas privadas); descargar el repositorio en zip, etc

Ahora pueden colaborar en equipo:

  • en la pestaña Settings, en manage access pueden invitar a colaboradores.

  • ahora él puede subir y modificar archivos del repositorio.

  • cada vez que alguien edita algo se hace un commit y se registra el cambio que hizo.

  • cada commit tiene un registro único y Github guarda información el cambio. Además el usuario puede (y debe) brindar siempre información contextual del commit.