3 Herramientas: RStudio - Git/GitHub Configuración y Motivación

3.1 Por que usar git?

3.1.1 El problema con los nombres de archivos

El dilema de usar nombres como descriptor de versiones.

Figure 3.1: El dilema de usar nombres como descriptor de versiones.

Cada archivo en un proceso científico sufre de cambios. Los manuscritos son editados. Las figuras son revisadas. Los códigos se corrigen cuando se encuentran problemas. Los archivos de datos se combinan, se corrigen errores, dividen y combinan nuevamente. En el curso de un análisis simple, uno puede esperar miles de cambios en los archivos. Y aún así, todo lo que usamos (al menos la mayoría) para identificar este sinnúmero de cambios son simples nombres de archivos (fig. 3.1). Teniendo esto en consideración, es lógico pensar que debe existir una forma mejor de hacer eso… Y si, la hay, se conoce como Control de Versiones.

Un sistema de control de versiones ayuda a seguir los cambios que se realizan a nuestros archivos, sin el desastre que resulta de utilizar sólo los nombres de archivos. En los sistemas de control de versiones como git, se registra no sólo el nombre del archivo, si no que además su contenido, de esta forma, cuando el contenido cambia se puede identificar que partes cambiaron y donde. El sistema registra además que versión de un archivo viene de una versión previa, teniendo un historial de todos los cambios realizados, así se hace fácil dibujar un gráfico que represente los cambios que ha sufrido un archivo, con todas sus versiones, algo como lo que se muestra en la figura 3.2:

Evolución de las versiones de un archivo.

Figure 3.2: Evolución de las versiones de un archivo.

Los sistemas de control de versiones asignan un identificador a cada versión de cada archivo y mantiene un registro de como estos están relacionados entre si. Además, estos sistemas permiten ramificaciones en estas versiones y fusiones de regreso a la tronco principal de trabajo. Se puede ademas tener múltiples copias en múltiples computadores como respaldos y para trabajo colaborativo. Es posible además incluir etiquetas (tags) a versiones en particular y así poder retornar a una versión en particular de los archivos cuando fueron etiquetados. Por ejemplo, la versión exacta de los datos, código y texto de un manuscrito que fue enviado y que tiene la etiqueta R2 en la figura 3.2.

3.2 Revisando el ambiente de RStudio

3.2.1 Versión de R

Vamos a usar R version 3.6.1 (2017-01-27), que puede ser descargada e instalada desde CRAN.

Para ver que versión tiene instalada, ejecute el siguiente comando en la consola de RStudio:

R.version$version.string

3.2.2 Versión de RStudio

Vamos a usar la versión de RStudio 1.2.1335 o posterior, la que se puede descargar e instalar desde aquí.

Para verificar que versión de RStudio tiene instalada, ejecute el siguiente comando en la consola de RStudio:

RStudio.Version()$version

Si el resultado no dice 1.2.1335 (o es una versión anterior), por favor actualice su RStudio haciendo clic en “Help -> Check for Updates” y siguiendo las instrucciones.

3.2.3 Instalación de Paquetes de R

Ejecute las siguientes líneas de código para verificar que todos los paquetes necesarios para este curso están instalados en su computador.

Si hay algún paquete que no esté instalado, esto va a instalarlo automáticamente. Si ya estuvieran instalados, no verá ninguna salida en o mensaje.

A continuación, cree un nuevo archivo de R Markdown (File -> New File -> R Markdown). Si nunca ha creado archivo R Markdown previamente, aparecerá un diálogo preguntando si desea instalar los paquetes requeridos. Haga clic en Yes.

3.3 Configurando git

Si aun no lo ha hecho, vaya a github.com y cree una cuenta. Si aun no ha bajado e instalado el software de git, descárgelo aquí y proceda a su instalación.

Antes de usar git, tiene que decirle quien es usted, para eso se debe establecer las opciones de configuración globales (setting the global options). Lamentablemente, la única forma de hacer esto es por medio de la línea de comando. La versión RStudio que tiene instalada (si es que siguió las instrucciones que le dimos) permite abrir una ventana de terminal en su sesión de RStudio. Para hacer esto seleccione Tools -> Terminal -> New Terminal.

Una pestaña de terminal debería abrirse donde se encuentra normalmente la consola de R. Para establecer las opciones de configuración globales, escriba los siguientes comandos en la pestaña del terminal, reemplazando “Su Nombre” por su nombre real y luego presione enter:

git config --global user.name "Su Nombre"

Luego escriba la siguiente línea de comandos, con la dirección de correo electrónico que usó en la creación de su cuenta en github.com:

git config --global user.email "SuEmail@DominioEmail.cl"

Por favor note que estas lineas DEBEN ser ejecutada una a la vez.

Finalmente, para asegurarse que todo está correcto, escriba este comando que le mostrará las opciones que acaba de definir.

git config --global --list

3.3.1 Nota para Usuarios de Windows

Si obtienen el mensaje que dice “comando no encontrado” o en inglés “command not found” (o similar) cuando ejecute estos pasos en la pestaña del terminal de RStudio, puede ser que necesite definir el tipo de terminal que abre RStudio. Bajo algunas instalaciones de git, puede darse que el ejecutable de git no funcione en el terminal que se abre por defecto.