lunes, 25 de enero de 2010

GIT: Lo mejorcito en software para control de versiones

En cualquier proyecto de software no debe faltar un buen software de control de versiones.

CVS, SVN han sido dos de los sistemas más populares, pero la aparición de GIT está consiguiendo que muchos proyectos migren su sistema de control de versiones. Puedes buscar información en la red para comprobar si a ti también te merece la pena cambiar.

Dejando de lado las comparaciones, vamos a ver cómo se usa GIT.

Primero hay que instalar git:
apt-get install git-core
Tras instalarlo, hay que configurar nuestro nombre y nuestro email:
git config --global user.name "Tu nombre"
git config --global user.email nombre@dominio.com
Por defecto los colores están deshabilitados, podemos habilitarlos con:
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
En git existen dos niveles de repositorio: el local y el remoto. Cuando se crea un repositorio sólo se puede sincronizar con el local, puesto que no tiene remoto. Los repositorios creados desde el inicial se se sincronizan localmente y con el remoto. Es posible clonar cualquier repositorio, no sólo el inicial. Por tanto los repositorios forman una estructura de árbol.

Para crear un repositorio, en la carpeta del proyecto escribimos:
git init
git add .
git commit
Estas tres líneas, crean el repositorio, añaden todos los ficheros y crean la primera versión en el repositorio local.

Los datos que usa git para manejar la sincronización se guardan en el directorio oculto ".git". El directorio (también oculto) ".gitignore" guarda información relativa a los ficheros que debe ignorar.

Para trabajar con un repositorio hay que clonarlo:
git clone hostname:/var/proyecto proyecto  
Donde "hostname:/var/proyecto" es la ruta del directorio remoto, y "proyecto" es la ruta del repositorio local.
La comunicación con el equipo remoto se hace con ssh, por tanto el usuario debe tener una cuenta en la máquina remota.

Ahora ya podemos trabajar con el proyecto:
Añadir archivos:
git add file
Borrar:
git rm file
Mover:
git mv file
Para "enviar" los cambios realizados en el repositorio local:
git commit -a
Para "borrar" los archivos de la lista de archivos para subir (evitamos subir un archivo modificado):
git rm --cache archivo
Para almacenar los cambios en el repositorio remoto:
git push
GIT obliga a escribir comentarios a la hora de subir archivos, lo cual está muy bien ya que en otros sistemas muchas veces no hay información de por qué se ha subido ciertos ficheros.

A la hora de obtener los cambios, estos son los comandos:
Desde el repositorio local
git fetch
Desde el repositorio remoto:
git pull
Si eres de los que prefieren un entorno gráfico con botones en lugar de escribir comandos, puedes probar git-cola

Si quieres más información puedes ir a:
- Manual de GIT
- Tutorial de introducción a GIT
- "Chuleta" de GIT  
- GIT para usuarios de SVN 
- es.gitready.com

No hay comentarios:

Publicar un comentario