Almacenamiento de repositorios Git en la nube con GitHub

Publicado el 26 octubre 2018 por Daniel Rodríguez @analyticslane

En una entrada anterior se explico el flujo de trabajo básico con Git. Se explico como crear un nuevo repositorio, agregar archivos, realizar un seguimiento de los cambios y sincronizar el repositorio local con uno remoto. Los repositorios remotos se pueden crear en otro disco, en una ubicación de red o en un servidor. Actualmente existen múltiples servicios que ofrecen la posibilidad de crear repositorios Git en la nube, en la que se pueden guardar una copia de los proyectos o utilizarla repositorio central para un equipo. Uno de los más populares en la actualidad es GitHub.

Repositorios Git en la nube

GitHub es un servicio de alojamiento web permite alojar proyectos con el sistema de control de versiones Git. En la actualidad es uno de los servicios de este tipo más populares ya que permite almacenar proyectos públicos de forma gratuita. En junio de 2018 el servicio fue comprado por Microsoft.

GitHub no es el único servicio que permite el alojamiento de repositorios Git en la nube. Otros servicios similares disponibles actualmente son Bitbucket y GitLab. En el caso de Bitbucket es posible trabajar con repositorios privados y el sistema de control de versiones Mercurial de forma gratuita para pequeños proyectos.

Creación de una cuenta el GitHub

Para poder crear un repositorio en GitHub es necesario crear primero una cuenta. Para ello solamente se ha de ir a la página principal y seleccionar "Sign up". La creación de una cuenta es tremendamente sencilla, únicamente se ha de indicar un usuario, la dirección de correo y una contraseña.

Creación de una cuenta en GitHub

Creación de un repositorio en GitHub

La creación de un nuevo repositorio es tremendamente sencillo. Simplemente se ha de utilizar el botón "Start a project" o en el menú "+" situado en la parte superior derecha y seleccionar la opción "New Repository".

Añadir un nuevo repositorio en GitHub

En ambos casos aparecerá el asistente para la creación de un nuevo repositorio. En este caso solicitará únicamente un nombre y una descripción opcional. Los repositorios pueden ser públicos (cualquier persona puede ver el contenido, pero no hacer un commit) y privado (solamente los usuarios autorizados pueden ver el proyecto). La segunda opción requiere una cuenta de pago.

Creación de un nuevo repositorio en GitHub

Otras opciones de interés son inicializar el repositorio con un archivo README, incluir un archivo .gitignore y el tipo de licencia. Una vez finalizado se puede proceder a la creación del repositorio.

Sincronización del repositorio

Una vez creado el proyecto aparecerán las instrucciones para crear uno nuevo o sincronizar uno existente. Como se explicó en la entrada anterior, primero se ha de añadir a la lista de repositorios y posteriormente subir los cambios mediante el comando git push.

Opciones para la creación del repositorio en GitHub

$ git remote add origin[email protected]:drodriguezperez/introduccion_git.git $ git push -u origin master Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 1.14 KiB | 1.14 MiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To[email protected]:drodriguezperez/introduccion_git.git * [new branch] 	master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.

Si es la primera vez que se accede a la cuenta será necesario configurar las credenciales de acceso.

Una vez realizado los pasos indicados se pude utilizar el comando git remote -v para configurar que se ha configurado correctamente el repositorio remoto. En el ejemplo se puede comprobar que se obtienen las siguientes líneas.

$ git remote -v
origin [email protected]:drodriguezperez/introduccion_git.git (fetch)
origin [email protected]:drodriguezperez/introduccion_git.git (push)

El archivo .gitignore

En el proceso de creación del repositorio se ha solicitado la creación de un archivo .gitignore. Este es un archivo especial en el que se puede indicar los tipos de ficheros que se desean omitir intencionadamente del repositorio. Por ejemplo, los archivos temporales que se crean en un proyecto. El formato es sencillo, en cada una de las líneas se han de incluir las extensiones de los archivos que se desean ignorar.

A continuación se muestra un archivo .gitignore para un proyecto en R.

# Created by https://www.gitignore.io/api/r

### R ###
# History files
.Rhistory
.Rapp.history

# Session Data files
.RData

# Example code in package build process
*-Ex.R

# Output files from R CMD build
/*.tar.gz

# Output files from R CMD check
/*.Rcheck/

# RStudio files
.Rproj.user/

# produced vignettes
vignettes/*.html
vignettes/*.pdf

# OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
.httr-oauth

# knitr and R markdown default cache directories
/*_cache/
/cache/

# Temporary files created by R markdown
*.utf8.md
*.knit.md

# Shiny token, see https://shiny.rstudio.com/articles/shinyapps.html
rsconnect/

### R.Bookdown Stack ###
# R package: bookdown caching files
/*_files/


# End of https://www.gitignore.io/api/r

Plantillas de estos archivos para los diferentes lenguajes de programación se pueden encontrar en https://www.gitignore.io.

Conclusiones

En esta entrada se ha visto cómo crear un repositorio en GitHub y sincronizarlo con los locales que se han creado en una entrada anterior. Disponer de copias de seguridad de los repositorios es clave para evitar pérdidas accidentales de datos.

Es importante recodar que GitHub solamente permite guardar repositorios públicos de forma gratuita. Es decir, cualquier persona tendrá acceso al código guardado en este repositorio. Para almacenar repositorios privados se disponer de una cuenta de pago.