8.8.09

Control de versiones

Después de cierto tiempo trabajando en un proyecto comienza a evidenciarse la necesidad de guardar los cambios cuando se hacen progresos y de documentar todos los cambios relevantes, para que pueda entenderse rápidamente que cambió entre una y otra versión. El concepto que engloba a estas acciones es: control de versiones.
El control de versiones puede hacerse manualmente, por ejemplo copiando la carpeta entera del proyecto a otra cada vez que se hace un cambio y describiendo los cambios en comentarios dentro de cada archivo que sufra modificaciones. ¿Suena tedioso?
Afortunadamente muchos programadores antes que nosotros pensaron lo mismo y es por eso que existe software dedicado a lidiar con estos menesteres.

El que se eligió para este proyecto por su versatilidad y simplicidad es git. Se encuentra disponible para correr sobre Linux o Windows.
Algunas de sus características son:
- almacena cambios incrementalmente, reduciendo el espacio utilizado.
- permite (¡y obliga! a) hacer un comentario cada vez que se almacenan cambios ("se hace un commit").
- permite ver las diferencias entre una versión (commit, un estado salvado) y cualquier otro en forma sencilla.
- permite desarrollo no lineal: es decir que dos (o más) programadores podrían estar trabajando sobre diferentes partes del proyecto (aunque trabajen en archivos en común) y después sumar sus cambios al proyecto en forma automática, siempre que no hayan modificado exactamente las mismas líneas, de ser así el programa le pregunta al usuario para resolver el conflicto.
- es gratuito y de código libre.

Sobre la forma de utilizarlo hay excelentes tutoriales escritos en diversas lenguas como por ejemplo Git Magic, muy bien escrito en inglés, que va de las operaciones básicas cotidianas hasta las maniobras más intrincadas e infrecuentes, mientras que en nuestra lengua tenemos disponible una introducción rápida a git.
Para instalar git en Linux sólo hace falta instalar el paquete git-core (y sus dependencias), es decir, en una distribución de Linux basada en Debian basta con abrir un terminal y poner sudo apt-get install git-core. Sin embargo, git por si mismo es sólo accesible mediante la línea de comandos, para tener una interfaz gráfica hace falta instalar git-gui. Una vez instalado ese paquete, se puede acceder usando el comando git gui. Una interfaz mejorada se obtiene instalando qgit y kompare.


Captura de git gui:


Capturas de qgit:





Captura de kompare: