miércoles, 17 de julio de 2013

Control de versiones: Git

La primera vez que yo escuché acerca del control de versiones me pareció que era la forma de llevar los números de las versiones en una aplicación, en esos tiempos empezaba a programar y no le tomé mucha importancia. Mucho tiempo después, cuando ya debía trabajar con varios compañeros a la vez, me dí cuenta que sirve para controlar las versiones del proyecto que cada uno está haciendo.

Cuando varias personas trabajan en un mismo proyecto es bastante probable que toquen los mismos archivos (y a veces las mismas líneas). Debido a eso es necesario una herramienta que compare los archivos de varias personas, pero compararlos manualmente no es la solución porque es muy engorroso. Para esto yo elegí Git, luego de leer muchos consejos y comparaciones entre varios gestores.

Git es una herramienta de control de versiones diseñada para ser descentralizada, cada uno puede tener una copia del proyecto y trabajar todo lo que quiera con ella sin necesidad de estar conectado a un mismo lugar, y cuando todo esté listo se puede unir con los cambios que los otros compañeros hayan hecho para tener un producto terminado listo para entrar al testeo.

Se pueden hacer ramas para probar código o hacer nuevas características, correcciones, etc... Todo depende del ingenio que nosotros tengamos a la hora de trabajar con el.

Todo esto hace que nosotros trabajemos con toda confianza sin miedo de perder lo que hicimos, y todo se pone más entretenido si usamos un servidor para hostear nuestro repositorio como GitHub o Bitbucket (Yo uso más bitbucket, pero para mi son muy parecidos aunque GitHub sea más famoso)

Yo recomiendo empezar desde lo básico, la línea de comandos... Eso les permitiría aprender a usarlo bien (no soy muy fan de las interfaces gráficas para estas cosas)

Les dejo un link que me hubiera servido mucho cuando estaba aprendiendo, espero que a más de alguno le sirva. Es como una guía para aprender lo básico en 15 minutos. (Está en inglés)
http://try.github.io/levels/1/