Existen diversos tipos de servidores Git, tales como GitHub y GitLab, los cuales son muy populares para el desarrollo de proyectos ya que ofrecen herramientas que permiten la colaboración y control de versiones entre un grupo de desarrolladores.

Git se desarrolló como un programa para el control de versiones de proyectos cliente-servidor a base de líneas de comandos, facilitando de esta manera la distrubución y el control de código dentro de un proyecto en particular.

GitLab y GitHub son proyectos basados en Git de tal manera que los comandos utilizados en Git son compatibles con estas plataformas con la diferencia de que estas ofrecen una interfaz web la cual permite desde cualquier navegador crear proyectos y realizar seguimientos de los mismos.

Git puede utilizarse además como una plataforma de respaldo personal, sin la infraestructura que conlleva instalar un servidor como GitLab, aunque GitLab tiene disponible una versión para instalar en servidores personales a diferencia de GitHub.

Para la instalación de Git como un servidor de respaldo personal de proyectos se pueden utilizar computadoras de rendimiento limitado tal como la RaspberryPi, la cual equivale en desempeño a una computadora de la década de 1990.

Instalación de servidor Git

La instalación de Git en la computadora donde se almacenarán los proyectos (servidor) se realiza a través de apt.

$ sudo apt install git

Una vez instalado el servicio, se debe de crear un usuario llamado git el cual se utilizará para crear los proyectos desde la terminal de comandos del servidor.

sudo adduser git

Creación de proyectos Git

Los proyectos creados en el servidor Git se deben de realizar con el usuario git, en el caso de linux se puede identificar con cual usuario se ha iniciado sesión desde la terminal <usuario>@<NombrePC>, para RaspberryPi el usuario es

pi@<NombrePC> ~$

Cuando se ha iniciado sesión con git se observa

git@<NombrePC> ~$

Una vez iniciada la sesión con el usuario git se puede crear los folders donde se guardarán los repositorios, se recomienda utilizar la extesión .git por cuestiones de nomenclatura en los proyectos de Git.

$ mkdir <NombreDeProyecto>.git
$ cd <NombreDeProyecto>.git/
$ git init --bare

El comando git init --bare es el responsable de crear la estructura de archivos para el manejo de repositorios dentro del folder .git

Respaldo de proyecto en Git

Una vez configurado el servidor de Git se puede empezar a realizar los respaldos de proyectos desde la computadora de usuario, para ello se debe de inicializar el folder raíz del proyecto con el comando git@<ServidorGit>:/home/git/<NombreDeProyecto>.git, en el se puede observar que pide el nombre o dirección IP del servidor Git y la ubicación del folder del proyecto dentro de home/git del servidor Git. Una vez determinada esta información se puede configurar el repositorio para su respaldo en el servidor Git.

$ cd <NombreDeProyecto>/
$ git init
$ git add .
$ git remote add pi git@<ServidorGit>:/home/git/<NombreDeProyecto>.git
$ git commit -m 'Mensaje'
$ git push pi master

Como se puede observar, los comandos utilizados son similares a los utilizados tanto en GitLab como en GitHub.

@viktor_ivan