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.
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.