Toca volver a reescribir el post, ya que por problemas de hosting, se me perdieron varios posts. Vuelvo a retomar el tema del control de versiones.  Últimamente se habla mucho de GIT,  y la verdad que con razón. Este sistema de control de versiones, es ligero y sencillo de utilizar, sobre todo desde un IDE con soporte para este sistema.

Lo ideal, aparte de utilizarlo en local, es tenerlo en un servidor remoto para poder tenerlo como copia de seguridad, colaborar con otros desarrolladores, etc. La comunidad de github es perfecta para esto. Aunque tiene la desventaja de que los repositorios han de ser públicos, a noser que quieras pasar por caja. Así que vamos a pasar a implementar nosotros en un servidor.

En este post, vamos a hacerlo de la forma más básica.  Como requisitos, nuestro servidor deberá tener ssh activo, ya que es el mejor sistema de los que utiliza git, para poder hacer clone y push de nuestros proyectos. Así que vamos a ponernos manos a la obra.

Primero, instalar git:


$ sudo aptitude install git

Con esto, nos instala todo lo necesario. En mi caso lo he hecho desde una Ubuntu 12.04, en versiones anteriores, el paquete era git-core, pero ahora lo marca como deprecated.

Ahora, con git instalado,  vamos a crear un usuario, que será el encargado de manejar el repositorio. De esta forma lo tenemos todo más ordenado.

$ sudo adduser git

Ya con esto, podemos empezar a trabajar sin problemas. Crearemos nuestro repositorio desde el servidor, antes de empezar a trabajar.

$ cd /home/git
$ sudo git init --bare miProyecto
$ sudo chown git.git miProyecto -R

Lo que hemos hecho aquí, es crear el repositorio vacio. Es importante la opción –bare, ya que necesitamos que cree solo el repositorio, si no lo ponemos, entenderá que estamos en un directorio de trabajo y nos creara el repositorio para el directorio actual. Esto después nos creará conflictos a la hora de trabajar y hacer push desde el cliente. Lo siguiente es cambiarle el propietario del proyecto, para no tener conflictos de permisos.

Con todo los pasos anteriores listos, ya podemos empezar a trabajar. Así que nos vamos a nuestro cliente y hacemos clone del repositorio:

$ git clone ssh://git@host/~/miProyecto
$ echo "Hola mundo" > index.php
$ git add index.php
$ git commit -m "first commit"
$ git push origin master

Al hacer clone del repositorio remoto, seguramente nos de un warning de que el es un directorio de trabajo vacio. Es normal, ya que aún no hemos creado contenido. Así que creamos un fichero y hacemos commit. Por último, hacemos un push para subir los cambios al repositorio remoto. Ya que el clone está hecho desde el remoto, la conexión está establecida y no hace falta realizar ninguna configuración extra.

« »