Desarrollo Software en GIT.

Buenas prácticas en GIT: Confirme a menudo, use ramas, divida y venza.

Número de visualizaciones
06/03/2019

Los Sistemas de Control de Versiones (VCS) son en la actualidad una pieza imprescindible para cualquier desarrollo continuo de un software o proyecto. GIT es el rey de los VCS en la actualidad.

En su comienzo, los Sistemas de Control de Versiones (VCS) eran centralizados y esto conllevaba problemas a la hora de tener toda la información en un solo sitio almacenada.

Para dar solución, se crearon los Sistemas de Control de Versiones Distribuidos (DVCS), los cuales mantienen una copia en cada nodo de la red del software o proyecto completo. Esto hace que sea mucho más fácil recuperarse de fallos y añadir nuevas funcionalidades.

Desde su lanzamiento, GIT ha sido el DVCS más utilizado y en la actualidad sigue siendo el referente.

Si quieres descubrir una serie de buenas prácticas para el uso de GIT, sigue leyendo este artículo.

Logo GIT

 

¿Qué es el control de versiones?

Los sistemas de control de versiones son una serie de herramientas software que ayudan a administrar los cambios que se vayan realizando en el código fuente de cualquier programa a lo largo del tiempo.

Para casi todos los proyectos de software, el código fuente es como la joya de la corona: un valioso activo cuyo valor debe ser protegido.

El software de control de versiones es una parte fundamental en cualquier equipo de desarrolladores moderno. Los desarrolladores que están acostumbrados a trabajar con un sistema de control de versiones en sus equipos generalmente reconocen el increíble valor que el control de versiones tiene en sus proyectos.

 

Entonces…¿Qué es GIT?

De lejos, el sistema de control de versiones modernas más utilizado en el mundo actualmente es GIT.

Git es un proyecto de código abierto, mantenido de forma activa, desarrollado originalmente en 2005 por Linus Torvalds, el famoso creador del kernel del sistema operativo Linux.

Además de ser distribuido, Git ha sido diseñado teniendo en cuenta el rendimiento, la seguridad y la flexibilidad.

Puedes consultar cualquier cosa que desees saber sobre GIT en su página web.

 

¿Cómo es trabajar con GIT?

GIT está pensado para todo tipo de proyectos, desde un proyecto individual hasta un proyecto enorme de una gran empresa.

A medida que un proyecto va creciendo y existen más y más archivos dentro de nuestro repositorio, coordinar todas las partes de nuestro equipo de desarrollo y mantener un control de versiones de nuestro proyecto fiable y actualizado se vuelve cada vez más difícil.

Las siguientes buenas prácticas (hábitos) que describiremos a continuación facilitarán que el repositorio de producción mantenga actualizado, fiable y estable nuestro código fuente en todo momento:

1. Confirma con regularidad (Commit)

Si confirmas cambios (commit) de manera regular (a menudo) hace que las confirmaciones sean pequeñas y pueda confirmar solo cambios que estén relacionados.

Además, permite compartir el código con más frecuencia con otros compañeros del equipo. De esa manera, es más fácil para todos integrar los cambios regularmente y evitar tener conflictos al fusionar cambios y ramas.

Por el contrario, si no realiza confirmaciones con regularidad y tiene pocas confirmaciones pero muy grandes, será difícil tanto resolver conflictos como comprender los cambios que se realizaron.

Un commit debe ser un contenedor para los cambios relacionados. Por ejemplo, corregir dos errores diferentes debería producir dos confirmaciones separadas. Los pequeños commits facilitan que otros miembros del equipo entiendan los cambios y los restituyan si algo sale mal.

Áreas GIT

No confirmes trabajos a medio hacer

Solo debes confirmar código cuando se complete. Esto no significa que tenga que completar una característica grande y completa antes de confirmarse.

Todo lo contrario. Lo ideal es dividir la implementación de la característica en partes lógicas y confirmar cada parte en cuanto este realizada para tener commits con frecuencia.

2. Escribe mensajes de confirmación útiles

Crea mensajes de confirmación intuitivos y descriptivos es una de las mejores prácticas que puede realizar, sobre todo para otras personas que utilicen el repositorio.

Permite a los integrantes de nuestro equipo (y otras personas que puedan usar el repositorio) comprender rápidamente los cambios sin tener que leer el código.

También es importante crear mensajes de confirmación de calidad para poder responder algunas preguntas cuando revisamos el historial de revisiones.

GIT establece una regla general donde indica que una buena longitud del mensaje y así  proporcionar un resumen corto de la confirmación sería utilizar entre 50 y 72 caracteres. Esta longitud tiene mucha relación con el comando git log --oneline que lista todas la confirmaciones realizadas hasta el momento en el repositorio.

Keep Calm & Git commit

3. Utiliza Ramas (Branch)

La ramificación es una de las características más poderosas de Git, y esto no es por accidente: la ramificación rápida y fácil fue un requisito central desde el primer día.

Las ramas son la herramienta perfecta para ayudar a evitar mezclar diferentes líneas de desarrollo. Debe usar ramas constantemente en sus flujos de trabajo de desarrollo: para nuevas funciones, correcciones de errores, experimentos, ideas, etc.

Git permite elegir entre una gran cantidad de flujos de trabajo diferentes: ramas de larga duración, ramas temáticas, de fusion o  de reajuste, etc.

El que se elija un flujo de trabajo frente a otro depende de una serie de factores: el proyecto, los flujos de trabajo de desarrollo e implementación general y las preferencias personales y de los compañeros. Independientemente de cómo elijas trabajar, solo asegúrate de acordar un flujo de trabajo común al equipo de desarrollo para que todos sigan dicho flujo.

Ramas GIT

4. Actualiza tu repositorio antes de enviar cambios (Pull y Push)

Es común que mientras nosotros trabajamos en nuestro repositorio local, otro compañero haya realizado algún cambio (confirmación o commit) en el repositorio remoto que nosotros no disponemos aún en el nuestro.

Por tanto, para mantener la integridad de todo el proyecto, antes de enviar cualquier cambio al repositorio remoto (git push), se debe ‘extraer’ las últimas confirmaciones del repositorio remoto en nuestro repositorio local (git pull).

PULL Y PUSH

5. Divide el trabajo en repositorios

Los repositorios a veces acostumbran a almacenar archivos que no deberían, simplemente porque estaban allí. Trate de evitarlo.

Diferentes trabajos por repositorio.

Aprende a separar cada trabajo diferenciado en distintos repositorios. Separar los distintos tipos de trabajo previamente a su desarrollo permite ahorrar mucho tiempo en el futuro.

Control de acceso en cada repositorio

Si alguien tiene acceso a un repositorio, tiene acceso a todo el repositorio, todas las ramas, historial, etc. Si necesita controlar el acceso de los diferentes miembros, separe los trabajos en diferentes repositorios.

Repositorios separados para archivos necesarios en múltiples proyectos

Esto promueve el uso compartido y la reutilización del código, y es muy recomendable.

Repositorios separados para archivos grandes

Git no maneja archivos grandes de manera ideal y los repositorios con archivos grandes pueden ser lentos. Si debe confirmarlos, separarlos en su propio repositorio puede hacer que los desarrollos sean más eficientes.

Divide y vencerás

 

¡Utiliza bien GIT y jamás dejarás de usarlo!

Debido al avance de las tecnologías, cualquier empresa se basa en aplicaciones software. Por lo tanto, la alteración del flujo de trabajo de desarrollo, afecta a toda la empresa.

Git se ha convertido en el sistema de control de versiones esperado para la mayoría de nuevos proyectos.

Además, Git es muy popular entre los proyectos de código abierto. Esto significa que es fácil aprovechar las bibliotecas de terceros y animar a otros a compartir su propio código open source.

Si te ha gustado este artículo y quieres seguir leyendo otros, puedes entrar en mi perfil.

1+
Categorizado en: Desarrollo de Aplicaciones

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Descubre MasterClass de INESEM. Una plataforma en la que profesionales enseñan en abierto

Profesionales enseñando en abierto