Git

Que es Git?

Que es Git?

Que es Git?

Hoy en día, la mayoría de los proyectos de desarrollo de software son esfuerzos colaborativos. Estos proyectos pueden tener cientos o miles de personas trabajando en ellos. Por lo tanto, realizar un seguimiento de los cambios es una necesidad para una colaboración más fluida. Git es un sistema de control de versiones distribuido de código abierto que realiza un seguimiento de los activos de software y ayuda a ejecutar procesos de desarrollo más eficientes.

¿Qué es un sistema de control de versiones??

Cuando los desarrolladores están trabajando en un software, necesitan realizar un seguimiento de sus cambios. Un sistema de control de versiones (VCS) recuerda las versiones del software a medida que avanza por las distintas etapas de desarrollo. Trabajar con un sistema de control de versiones tiene los siguientes beneficios:

Git: el control de versiones distribuidas

Inicialmente, la mayoría de los sistemas de control de versiones estaban centralizados. En el modelo centralizado, la información de control de versiones como la autoría, la fecha, la hora y la información de modificación se mantendría en un servidor o base de datos centralizado. El problema con este modelo era que los equipos de desarrollo estarían restringidos por la potencia o el tráfico del servidor central. Cuando el servidor central dejaba de funcionar, todo el sistema se paraba.

En un sistema de control de versiones distribuido (DVCS), la información de la versión se mantiene con cada copia del código. Permite compartir de igual a igual. No es necesario un repositorio centralizado (aunque es posible configurar uno).


Breve historia de Git

Git comenzó en un poco de controversia como un acto de venganza. En 2002, la comunidad de Linux comenzó a utilizar el sistema de control de versiones distribuido propietario BitKeeper de forma gratuita. Pero en 2005, la relación entre la comunidad de Linux y BitKeeper se rompió cuando se revocó el estado de uso gratuito. Entonces Linus Torvalds, el creador de Linux, comenzó a desarrollar Git como un producto de código abierto. Ese año, se lanzó la primera versión de Git. Hoy en día, Git es el sistema de control de versiones más popular.

Pros y contras de Git

Git es un sistema de control de versiones distribuido simple y poderoso con los siguientes pros y contras:

Pros

Actuación: La mayoría de los equipos de desarrollo se trasladan a Git por los beneficios de rendimiento. Las confirmaciones, ramificaciones y fusiones son más rápidas en Git que los sistemas de control de versiones centralizados como CVS, SVN o Perforce. Además, la naturaleza distribuida del software facilita a los desarrolladores compartir el trabajo entre pares. Este proceso es más rápido que obtener el código de un servidor central.

Seguridad: La integridad del código es más fácil de verificar en Git. Utiliza hash SHA1 criptográficamente seguro. Los hashes son únicos para cada modificación. Si alguien cambia una modificación, los hashes no coincidirán. Esta propiedad de Git hace que sea más difícil para cualquiera introducir cambios de código subrepticiamente.

Flexibilidad: Git fue diseñado para adaptarse a cualquier flujo de trabajo. Los sistemas de control de versiones anteriores son más restrictivos. Pero Git le da a tu equipo más libertad. Incluso puede crear un flujo de trabajo centralizado o integrarse con otros sistemas de control de versiones para que sus sistemas heredados funcionen.

Contras

Más difícil de aprender: Los conceptos de Git no siempre son intuitivos. Otros sistemas de control de versiones adoptan un enfoque más basado en la interfaz de usuario. La comunidad de Git tiende a preferir la línea de comandos. Por lo tanto, es más difícil para los usuarios no técnicos aprender.

Nostalgia por el control de versiones centralizado: Las empresas a veces dudan sobre el uso de Git porque no hay un control centralizado. Pero si necesita un repositorio centralizado, siempre puede diseñar un flujo de trabajo para implementarlo.


Conclusión

Git ha ganado popularidad debido al valor que agrega a cualquier equipo de desarrollo. Incluso si está trabajando solo en un proyecto, tener un historial confiable puede ahorrarle mucho tiempo. Git es una herramienta gratuita y útil para cualquier proyecto de desarrollo de software.

Estudio adicional:

Sitio web de Git
Conceptos básicos de Git
GitHub - Sitio de alojamiento de Git
BitBucket - Sitio de alojamiento de Git

Referencias:

OpenTTD frente a Simutrans
Crear su propia simulación de transporte puede ser divertido, relajante y extremadamente atractivo. Es por eso que debes asegurarte de probar tantos j...
Tutorial de OpenTTD
OpenTTD es uno de los juegos de simulación empresarial más populares que existen. En este juego, necesitas crear un maravilloso negocio de transporte....
SuperTuxKart para Linux
SuperTuxKart es un gran título diseñado para ofrecerte la experiencia Mario Kart de forma gratuita en tu sistema Linux. Es bastante desafiante y diver...