Que es git?

Que es git?

Que es git?

Hoy la mayoría de los proyectos de desarrollo de software son esfuerzos de colaboración. 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 suave. Git es un sistema de control de versiones distribuidas 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, deben realizar un seguimiento de sus cambios. Un sistema de control de versiones (VCS) recuerda las versiones del software a medida que avanza a través de las diversas etapas de desarrollo. Trabajar con un sistema de control de versiones tiene los siguientes beneficios:

  • Historia a largo plazo: Los sistemas de control de versiones mantienen el historial de quién, qué y cuándo de cualquier modificación al código de software. Este historial es un recurso valioso para encontrar cualquier falla con el software. Si hay algún problema con el nuevo código, siempre puede volver a las versiones anteriores.
  • Ramificación y fusión: La mayoría de los controles de versiones tienen capacidades de ramificación y fusión. Por lo tanto, los equipos de desarrollo pueden dividir el trabajo en múltiples transmisiones y trabajar simultáneamente en varios aspectos del proyecto.
  • Trazabilidad: El control de versiones ofrece a los desarrolladores una forma de rastrear de manera fácil y confiable errores y problemas en un software. Disminuye la confusión. Crea un entorno de colaboración efectivo y transparente.

GIT - El control de versiones distribuidas

Inicialmente, la mayoría de los sistemas de control de versiones estaban centralizadas. 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á en un servidor o base de datos centralizado. El problema con este modelo era que los equipos de desarrollo estarían restringidos por el poder o el tráfico del servidor central. Cuando el servidor central cayó, todo el sistema estaría en punto.

En un sistema de control de versiones distribuido (DVC), la información de la versión se mantiene con cada copia del código. Permite compartir entre pares. No hay necesidad de un repositorio centralizado (aunque sea posible establecer uno).


Breve historia de Git

Git comenzó en un poco de controversia como un acto de venganza. En 2002, Linux Community comenzó a usar el sistema de control de versiones de versiones distribuidas patentadas Bitkeeper de forma gratuita. Pero en 2005, la relación entre la comunidad de Linux y el bitkeeper se rompió cuando se revocó el estado de uso libre. 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 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 potente con los siguientes pros y contras:

Pros

Actuación: La mayoría de los equipos de desarrollo se mudan a GIT para los beneficios de rendimiento. Compromisos, ramificados y fusiones es más rápido 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 el hash criptográficamente seguro SHA1. Los hash son exclusivos de cada modificación. Si alguien cambia una modificación, los hash no coincidirán. Esta propiedad de Git hace que sea más difícil para cualquiera que se coloque en los cambios en el 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 margen de maniobra. 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 Git tiende a preferir la línea de comandos. Por lo tanto, es más desafiante que los usuarios no técnicos aprendan.

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


Conclusión

Git ha aumentado en 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
Git Conceptos básicos
GitHub - Sitio de alojamiento Git
Bitbucket - Sitio de alojamiento Git

Referencias:

  • https: // www.atlassiano.com/git/tutorials/what-is-version-control
  • https: // www.atlassiano.com/git/tutorials/what-is-git
  • https: // git-scm.com/book/en/v2/Geting-start-a-short-history-of-git
  • https: // git-scm.com/book/en/v2/Getting-started-git-Basics
  • https: // github.com/