Instalación y primeros pasos para montar un servidor git privado sobre ubuntu 14.04
1. Actualizamos el servidor e instalamos git y ssh.
3. Creamos un proyecto vacío en el server.
4. Actualizamos el código del servidor desde nuestro cliente.
Vamos a montar un servidor git privado en nuestro servidor de desarrollo que estará en la IP 192.168.1.100 (cambiar IP por la pública en caso de ser necesario) al que nos vamos a conectar vía ssh, podemos crear cualquier tipo de proyecto en cualquier lenguaje además de usar cualquier carpeta del sistema y usuario pero nosotros vamos a crear un directorio donde meter nuestros repositorios /git/ y un usuario con una shell capada que le daremos el nombre de gitusr.
1. Actualizamos el servidor e instalamos git y ssh.
# apt-get update && apt-get -y dist-upgrade
# apt-get install git ssh
2. Configuramos git.
$ git config –global core.sharedRepository group
$ git config –global user.name «Usuario Git»
$ git config –global user.email git@ejemplo.es
3. Creamos un proyecto vacío en el server.
Vamos a crear un proyecto vacío en la parte del servidor para luego desde un cliente actualizar el código. Para ello usamos una terminal en el servidor:
# cd /git
# mkdir proyecto-ejemplo.git
# chown -R gitusr:gitusr proyecto-ejemplo.git
# chmod -R 770 proyecto-ejemplo.git
# cd proyecto-ejemplo.git
$ sudo -u gitusr git –bare init –shared=group
Y ya tenemos el proyecto vacío en el server listo para recibir datos.
4. Actualizamos el código del servidor desde nuestro cliente.
Ahora vamos a nuestro ordenador, a nuestro proyecto existente, pongamos que la ruta es /var/www/ejemplo
# cd /var/www/ejemplo
Si aún no hemos inicializado el proyecto en git, hacemos:
$ git init
$ git add .
$ git commit -m «Inicio proyecto git»
Ahora linkamos nuestro proyecto local a nuestro proyecto vacío del server:
$ git remote add origin ssh://gitusr@192.168.1.100/git/proyecto-ejemplo.git
Y ya podemos hacer un push y sincronizar nuestro código local con el del servidor:
$ git push origin master
5. Usando los comandos básicos: clone, pull y push.
Vamos a ver un ejemplo de cómo usaríamos ahora los comandos más típicos de git con la configuración de nuestro proyecto.
$ git clone gitusr@192.168.1.100:/git/proyecto-ejemplo.git
$ git push origin master
$ git pull origin master
6. Crear nuevos usuarios para git.
Vamos a crear nuevos usuarios que puedan usar nuestro servidor git. Para ello crearemos los usuarios sin directorio home y que sólo puedan usar la consola de git, depués los agregaremos al mismo grupo que el usuario principal de git y les daremos una contraseña.
# useradd -r –shell /usr/bin/git-shell NUEVO_USUARIO
# adduser NUEVO_USUARIO gitusr
# passwd NUEVO_USUARIO
Debemos recordar dar permisos 770 a la carpeta de git para que los nuevos usuarios puedan escribir en ella.