4. Git: Control de Versiones

A lo largo del ciclo de vida de un producto software se producen diferentes revisiones que suponen modificaciones del código fuente, a veces de gran calado y en muchas ocasiones no exentas de riesgo (de estropear el producto). Estas modificaciones son consecuencia de la necesidad de ampliar la funcionalidad del producto, corregir errores, particularizar el producto a las necesidades específicas de un cliente o contexto de aplicación, etc. 

Por ello, durante el desarrollo del proyecto, se precisa disponer de una metodología que permita gestionar todas las versiones del producto. En principio, la idea es que, al realizar una modificación, partamos de una versión estable, cambiemos/ampliemos lo necesario y, una vez generada una nueva versión estable, la almacenemos correctamente etiquetada para poder recuperarla en un futuro.

Si bien todo esto puede realizarse manualmente, la industria del software ha generado a lo largo de su historia herramientas para la ayuda en el proceso. Una de ellas es el Git, al cual nos referimos en este tutorial.

Si estás interesado en su uso, re recomiendo que veas la documentación del producto. Para una iniciación rápida los dos primeros capítulos pueden ser suficiente. Y si te gusta y decides utilizarlo, adelante!!. Instálatelo y, como dice el poema,  "Caminante, no hay camino, se hace camino, se hace camino al andar".

Por nuestra parte, te dejamos una guía rápida de consulta con los comandos más habituales:

 git clone git://projects.archlinux.org/pacman.git pacmanEl check-out en Git se llama clone. Crear una copia local de git://projects.archlinux.org/pacman en la carpeta pacman.
git config user.name "Your Name"
git config user.email "me@example.com"
Establecen las credenciales para identificarnos al realizar commits.
git branch trabajo
git checkout trabajo
En Git es habitual no trabajar en la rama principal (master). Se suele crear un branch.
Crear un branch llamado trabajo y apuntar a éste en la copia local.
git rebase masterEs posible que se hayan producido cambios en la rama master desde que iniciamos nuestro desarrollo en la rama trabajo.
Actualizar trabajo con los últimos cambios de master.
git checkout masterVolver a la rama master. No se puede abandonar una rama con modificaciones locales.
Para cambiar de una rama a otra es necesario realizar un commit de los cambios realizados (o bien revertirlos si no interesan).
git merge trabajo Hemos terminado nuestro desarrollo en la rama trabajo.
Incorporar los cambios a la ramamaster.
git branchVer las ramas disponibles.
git pullActualizar nuestra copia local con los últimos cambios realizados en la rama actual.
git add ficheromodificado1 ficheromodificado2Añade las modificaciones en los archivos indicados a la lista de cambios a incorporar en el siguiente commit
git commit -sIncorporar las modificaciones en la rama actual.
git pushTransferir cambios al repositorio remoto. A diferencia de en Subversion no viene implícito en el commit.
git logVer las modificaciones de la rama actual.


Comments