Cómo no pisar el trabajo de los demás: Control de versiones

AUTOR: Guillermo Lapuente Valea
(This entry is also available in English)

El control de versiones es lo que se suele conocer como el uso de técnicas y herramientas para conocer, de un desarrollo de software, qué ha sido lo último que se ha modificado. En este tipo de desarrollos suele ser habitual trabajar en equipo. Sin embargo es común que en éste haya varios miembros que tengan que trabajar sobre un mismo módulo. El método tradicional para hacer estos desarrollos era vigilar si se habían actualizado los ficheros de código, para seguir trabajando con la versión más actual. Además tampoco era habitual trabajar con gente que estuviera geográficamente dispersa. Pero el tiempo avanzaba, se necesitaban técnicas más modernas y eficientes, empezaba el crowdsourcing

¿Qué solución podía proponerse? Apareció el software de control de versiones. Los más conocidos son github, bitbucket, subversion

Con estas herramientas podemos:
  • Compartir código: el código se comparte con los miembros del equipo casi a tiempo real y de esta forma podemos trabajar sobre código actualizado. Esto propicia el crowdsourcing de forma que podemos tener un desarrollo compartido con mucha gente diferente.
  • Controlar el trabajo: cuando algún miembro del equipo de desarrollo actualice la aplicación, esta actuación quedará registrada. Así es muy fácil ver la dedicación real de cada miembro y además nos cercioramos de quién ha hecho los cambios.
  • Integrarlo en nuestros IDE’s: todas las herramientas citadas pueden ser utilizadas en IDE’s como Eclipse o Visual Studio. Guardaríamos los cambios como lo haríamos habitualmente, solo que en lugar de ser salvados localmente, se salvan en la nube y quedan actualizados. 
  • Tener el código separado: podemos tener partes de aplicaciones o aplicaciones enteras en repositorios diferentes y que en cada uno actúe gente diferente.

Este tipo de software hay que verlo en forma de árbol, donde existe una rama principal que será la definitiva en cada iteración. Esto es, cuando se hace un cambio, de esa rama maestra sale una hoja con el cambio. Dicho cambio se puede modificar tantas veces como se quiera hasta que finalmente se da por bueno y se incluye en la rama principal.

Sin embargo, conocer cómo funcionan estas herramientas y comenzarlas a utilizar requiere de un proceso de aprendizaje estimado de una hora con ayuda de alguien que haya utilizado previamente estas herramientas.

A continuación hay enlaces a tutoriales fáciles de seguir y con los que empezar:
Instalación y uso de Github (inglés): https://wiki.eclipse.org/EGit/User_Guide
Instalación y uso de BitBucket (inglés): https://crunchify.com/how-to-configure-bitbucket-git-repository-in-you-eclipse/

No comments:

Post a Comment