repo – Instituto FOC | Informática ONLINE | FP Informática ONLINE

Almacenar un repositorio Git en un servidor própio

La existencia de servidores en la nube como GitHub, GitLab o Bitbucket (entre otros) nos permiten almacenar repositorios Git para poder trabajar en línea con otros programadores o en solitario.

Pero si alguna que otra vez nos hemos preguntado por la posibilidad de almacenar un repositorio de Git en un servidor própio, bien sea por motivos de seguridad de no querer subir el código de un proyecto a una nube (aunque sea de pago y privado), la respuesta suele ser la instalación de GitLab en nuestro servidor.

Hoy vamos a explicaros como almacenar un repositorio de Git sin esa ayuda gráfica que proporciona el entorno web de Gitlab.

Desde el lado del Servidor

Para ello comenzamos con el servidor a crear una carpeta que contenga nuestro proyecto.

Proporcionamos una carpeta de trabajo en donde guardará Git el almacenamiento del proyecto.

Creada la carpeta miproyecto.git en el home del usuario (en este caso home/focuser), es iniciada como repositorio vacio con el comando git init –bare.

Como podemos ver, se ha creado la estructura própia de Git en la carpeta /home/focuser/miproyecto.git

Necesitamos ahora conocer la ip del servidor, para ello tecleamos “ifconfig” o el más reciente “ip a”

Desde el ordenador cliente del proyecto

Desde el lado de cliente creamos una carpeta de trabajo para el nuevo proyecto de Git y lo iniciamos a continuación con git init

Añadimos el código a nuestro proyecto. Para hacerlo de la manera más rapida posible, vamos a crear rápidamente un archivo index.html con el contenido “<h1>Hola mundo</h1>”

Añadimos todos los archivos del proyecto con “git add .” y guardamos el commit inicial tecleando “git commit -m

Queda añadir la configuración remota ssh y guardamos el remoto apuntando a la dirección del servidor:

Subimos el repositorio de Git al remoto con “git push origin master”

Tras identicarnos como usuario focuser se subirá el proyecto al servidor.

De esta manera podemos almacenar remotamente aquellos proyectos de Git de un local a un servidor propio y poder añadir colaboradores que para ello deberan descargar el proyecto git con “git clone focuser@172.16.90.107:/home/focuser/miproyecto.git”