Tag Archives: Johns Hopkins University

GitHub Básico para Windows

15 Ago

Para lograr analizar los datos que arroja nuestra Red Social Corporativa, decidí inscribirme en Coursera en la especialización de Data Scientist de la Johns Hopkins University (JHU), Los participantes que hablamos español, tenemos un grupo en Facebook y una de las quejas recurrentes tiene que ver con el uso de GitHub. Antes de entrar a esta especialización nunca había usado GitHub, entendía el concepto, pero nunca lo había usado. Definitivamente no soy un experto y mi utilización es demasiado básica, pero creo que vale la pena compartir un poco de lo que he aprendido y me está funcionando, por si alguien se topa con los mismos problemas que tuve yo.

En este artículo hablaré de la funcionalidad básica de la interfaz gráfica de GitHub para Windows que simplifica muchísimo las cosas en un entorno Windows. La idea es mostrar lo suficiente como para poder usar la herramienta para realizar los ejercicios en la especialización de la JHU.

Prerrequisitos

  • Tener una cuenta de GitHub (obvio)
  • Descargar e instalar GitHub para Windows (no tiene ninguna ciencia, solo hay que hacer uso de la tecnología NNF: Next, Next, Finish)

Configuración Inicial

Una vez instalada la interfaz, se generarán dos íconos en el escritorio, uno el “Git Shell” que es la forma tradicional de trabajar con los repositorios y “GitHub”, que es la interfaz gráfica. Al abrir ésta aplicación se muestra una pantalla donde anotamos nuestras credenciales (nuestra cuenta y password de GitHub), hay que seguir el proceso tal como ocurre en la pantalla, no hay ninguna sorpresa aquí.

Inicialmente indicará que no existen repositorios locales y nos invitará a crear uno. Mi GitHub ya está configurado y con algunos repositorios, por lo que las pantallas diferirán un poco.

Creando un repositorio local

En mi caso, los proyectos de R los tengo en un disco duro externo en el directorio z:\R\ para el caso de los proyectos de “investigación reproducible” utilizo el directorio z:\R\repro. Utilizaré este directorio como ejemplo, ya que acabo de terminar el Peer Assessment 1 que contiene suficientes archivos como para mostrar las bondades de GitHub para Windows.

Lo primero es que creemos un repositorio local, que después será transferido a GitHub, en este caso lo voy a nombrar repro-p1-copy, porque terminará siendo una copia del repositorio donde hice el Peer Assessment 1.

Crear un repositorio local se hace haciendo click en el ícono que tiene un símbolo de “+” en la esquina superior derecha, una vez hecho esto, se abre un diálogo que pide que le pongamos un nombre e indiquemos en que directorio se va a guardar:

github01

En esta imagen se muestra el directorio z:\R\repro, una vez que creemos el repositorio veremos que se crea el directorio repro-p1-copy, que es el nombre que le dimos al repositorio. GitHub añadirá dos archivos de control a este directorio.

Adicionalmente, sabremos que se trata de una copia local no sincronizada, por el ícono que aparece a la izquierda del nombre.

Publicar el repositorio a GitHub

Como se puede ver en nuestra página de GitHub, aún no existe el repositorio repro-p1-copy, lo que haremos para crearlo es simplemente presionar en el botón “Publish“, arriba a la derecha, donde lo indica la flecha, después de unos segundos, habrá terminado la sincronización y los dos documentos que se crearon automáticamente de forma local, serán enviados al nuevo repositorio de GitHub.

github02

Ahora podemos trabajar con el directorio de forma normal, y GitHub estará verificando los nuevos archivos y si hubo una modificación a ellos, por ejemplo, voy a crear localmente un archivo llamado readme.md con un editor de textos (en mi caso utilizo Notepad++):

github03

GitHub muestra que hay “Uncommited Changes”, al presionar el botón “Show” se muestra cuáles son los archivos que cambiaron desde el último commit (o versión de proyecto)

Para realizar el “commit” hay que escribir en los campos que se presentan, el nombre que se asignará al commit y opcionalmente algún comentario.

Ahora se presiona el botón “Commit to master” y después el botón “Sync”, arriba a la derecha, para enviar esta versión al repositorio en GitHub

github04

Como se puede ver, el archivo creado fue subido a GitHub, lo mejor es que la sincronización es bidireccional, si se cambiase el archivo directamente en GitHub, a través de su editor de texto, solo hay que presionar el botón de “Sync” para que nos traiga la copia de GitHub a nuestro equipo local.

Para los proyectos de la especialización esto ha resultado muy conveniente, ya que sincroniza sin ningún esfuerzo los archivos .md, .html y los directorios /figures que se generan a partir del .Rmd.

Pues eso es todo, GitHub tiene muchísimas funcionalidades más, como el crear ramas o derivaciones de un proyecto, copiar otros repositorios y demás, pero el alcance de este artículo era explorar la funcionalidad básica de sincronización para poder realizar los trabajos de la especialidad de Data Science.

Si algo no está claro del artículo, o necesita corregirse, te agradeceré que me dejes una nota en los comentarios.