Git es un sistema distribuido de control de revisiones.
Vamos a crear un repositorio remoto compartido de git y le añadiremos la siguiente funcionalidad:
- Acceso de lectura y escritura usando el protocolo ssh.
- Acceso anónimo de sólo lectura vía git-daemon.
- Navegar por los repositorios de git vía web.
- Mandar notificaciones por email cuando el usuario realiza un commit.
Este artículo muestra cómo configurar un repositorio de Git en una distribución Debian (Sid).
Crear el repositorio en la máquina remota
Primero vamos a configurar la máquina remota donde instalaremos el repositorio de git.
Creamos el directorio donde colocaremos el repositorio de git:
$ mkdir /gitrepo
Instalamos git
$ sudo aptitude install git
Todos los usuarios capaces de leer y escribir en el repositorio deben pertenecer al grupo gitgroup:
$ sudo groupadd gitgroup
$ sudo chgrp -R gitgroup /gitrepo
$ sudo chmod g+w /gitrepo
Directorio "home" genérico para los usuarios pertenecientes al grupo gitgroup:
$ sudo mkdir /home/gitgroup
$ sudo chgrp -R gitgroup /home/gitgroup
Añadimos nuestro usuario actual al grupo gitgroup.
$ sudo adduser mi_usuario gitgroup
Los cambios se harán efectivos después de volverse a loguear.
$ groups
mi_usuario sudo gitgroup
Creamos ahora un repositorio git vacío.
$ cd /gitrepo
$ git init --bare --shared=0664 my_git_project
Initialized empty shared Git repository in /gitrepo/bar/
NOTA:
0664: el usuario "otro" tiene permisos de sólo lectura.
0660: el usuario "otro" no tiene permisos.
$ chgrp -R gitgroup my_git_project
La opción --shared hace que los directorios, los nuevos ficheros que se creen, etc, tengan los permisos adecuados.
Ahora tenemos un repositorio vacío donde podemos subir nuestros nuevos commits, o algún repositorio preexistente.