Herramientas

Almacenamiento de repositorios Git en la nube con GitHub

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 sincronización del repositorio
$ git remote add origin git@github.com: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 git@github.com: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 git@github.com:drodriguezperez/introduccion_git.git (fetch)
origin git@github.com: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.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Git

Recent Posts

Data Lake y Data Warehouse: diferencias, usos y cómo se complementan en la era del dato

En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…

2 días ago

Documentar tu API de Express con TypeScript usando OpenAPI (Swagger)

En la serie Creación de una API REST con Express y TypeScript construimos una API…

4 días ago

Curiosidad: El sesgo de supervivencia, o por qué prestar atención sólo a los que “llegaron” puede engañarte

Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…

1 semana ago

Cómo abrir una ventana de Chrome con tamaño y posición específicos desde la línea de comandos en Windows

En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…

2 semanas ago

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

2 semanas ago

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…

3 semanas ago

This website uses cookies.