Introducción al sistema de control de versiones GIT

Git es uno de los términos más comunes escuchados entre programadores en los últimos cuatro o cinco años. Presentaré aquí una idea de esta herramienta y por qué es tan popular entre los programadores. En este tema, vamos a aprender sobre el sistema de control de versiones GIT.

¿Qué es y por qué versión del controlador?

Linus Torvalds, quien inició el kernel de Linux, es la persona que creó este software para mantener y rastrear diferentes versiones de código fuente entre los programadores.

Escenario 1

Imagine un equipo de cinco miembros que están trabajando en el código fuente maestro mejorando sus diferentes características. Solo piense cómo pueden funcionar en el mismo código fuente sin confusión entre ellos. Cada uno tiene que saber lo que hacen los otros cuatro y no debe haber ninguna negligencia. Y al final de la hora de trabajo, tienen que pasar un tiempo coordinando los trabajos entre sí para que al final se mantenga un código fuente. Parece mucho agitado y definitivamente la intervención manual para mantener el código fuente es más riesgosa. Entonces, para ayudar o decir que automaticemos todas estas versiones en las que trabajan los cinco programadores, necesitamos un controlador de versión correctamente escrito y GIT es una de ellas. Existe un término para los pasos anteriores y se denomina Gestión del código fuente o Gestión de la configuración del software (SCM).

Escenario # 2

Ahora considere un escenario más donde la automatización del controlador de versión ayuda. Hemos escrito la primera versión del código y el cliente ha aprobado instalarlo en producción. Esta es la versión 1.0. Ahora, después de unos meses, el cliente ofrece un trabajo de mejora y usted trabaja en una versión anterior para desarrollar la versión 1.1 y enviarla al cliente. Pero el cliente sugiere un enfoque diferente y esta versión 1.1 no es útil para usted según el nuevo enfoque del cliente. Entonces descarta esto y trabaja en la versión 1.2 que se envía y se aprueba. Y así sigue trabajando en el desarrollo de diferentes versiones. ¿Pero no crees que guardar manualmente todas las versiones en algún lugar y mantener el código fuente no es complicado? En algún momento, es posible que deba consultar la versión 1.1 que descartó y que no tiene a mano.

Por lo tanto, para mantener diferentes versiones de código escritas por uno o varios programadores, utilizamos controladores de versión.

Diferentes tipos de controlador de versiones

Hay diferentes tipos de herramientas disponibles y a continuación se detallan algunas de ellas.

  1. Subversion: desarrollado por Apache, ampliamente utilizado por los proveedores de Apache.
  2. Git
  3. Bazar
  4. Mercurial

Básicamente, hay dos tipos de metodologías de sistema de control de versiones en las que funcionan las herramientas anteriores. Son

Sistema de control de versiones centralizado (CVCS) Sistema de control de versiones distribuido (DVCS)

1. CVCS

Aquí el código escrito almacenado en el repositorio centralizado o en el servidor centralizado. No hay copia de trabajo disponible en las máquinas locales, lo cual es una gran desventaja cuando hay una falla en el servidor. Necesito tener una conexión de servidor activa siempre para trabajar en el repositorio. SVN usa este sistema de control

2. DVCS

Aquí también tenemos el código fuente en el servidor, pero junto con eso, lo tenemos como copia local en las máquinas en funcionamiento. Entonces, incluso si hay una falla en el nivel del servidor, podemos reflejar la copia de trabajo local en el servidor cuando se restaura. Esta disponibilidad de copia de trabajo local en cada máquina responsable del término 'Dsistriibuted' en DVCS. Git, Mercurial utiliza un sistema de control de versiones distribuido

Git usa el concepto de ramificación o más técnicamente llamado como TBD de desarrollo basado en troncales. Lo que realmente significa es que podemos crear múltiples ramas desde el maestro y en estas ramas, los programadores pueden trabajar y confirmar sus cambios en estas ramas y se realiza un seguimiento de cada una de estas confirmaciones. Y una vez que los clientes lo aprueben, podemos fusionar todas las ramas con el código maestro en la producción. De esta manera no están afectando el código fuente maestro directamente. Trabajar en el código fuente maestro directamente será más riesgoso y debe evitarse. Podemos trabajar en sucursales y realizar varios escenarios de prueba, y una vez que la versión final se estabilice y apruebe, podemos trabajar en fusionarla, lo que reduce el riesgo en una cantidad significativa.

Git es realmente gratuito y para usuarios de Mac, está disponible por defecto. En Linux, podemos instalar git y para Windows, tenemos algo, Git Bash. Hay dos fuentes de repositorio más populares donde podemos trabajar con Git y son Git Hub y Bit Bucket y la organización que elige basarse en su preferencia.

Ventajas del sistema de control de versiones GIT

  • Admite ambas formas de desarrollo heredadas, que es una forma de desarrollo lineal y no lineal
  • Dado que se distribuye en la naturaleza, se preocupe menos por las fallas del servidor de punto único. Siempre podemos reflejar el código del repositorio local en el servidor.
  • También podemos implementar una capa de seguridad sobre git que puede asignar restricciones de acceso en commit pull y push.
  • Puede funcionar en múltiples plataformas como Mac, Linux, Windows, etc.
  • Absolutamente libre y de código abierto
  • Eficiente y rápido debido a la naturaleza distribuida.
  • Seguimiento claro de confirmaciones, actualizaciones, reversiones, versiones, push y pulls
  • Proporciona GitBash para Windows que es fácil de usar.
  • También hay varias GUI disponibles para trabajar sobre GIT
  • No requiere una conexión de red activa siempre desde la disponibilidad del repositorio local.

Trabajando con Git

  • Cree la rama de trabajo desde el maestro de origen o desde otra rama dependiendo del requisito
  • Clonar la sucursal en local usando GitBash para Windows
  • Trabajar en la rama y realizar modificaciones o agregar componentes a ella.
  • Confirmar los cambios y remitir seguimiento de confirmación
  • Si cree que el commit no era necesario, puede revertir el commit al anterior
  • Si varios programadores trabajan en la misma rama, el repositorio local debe actualizarse antes de enviar los cambios. Así que realiza PULL
  • Ahora podrá realizar el EMPUJE
  • Una vez que la revisión y la aprobación del código lo hicieron a su sucursal, podemos mover el código a producción, ya sea por ansible o de cualquier forma que la organización use.
  • Combina la rama con el maestro para que tengamos el código actualizado.

Git es el sistema de control de versiones distribuido más utilizado debido a su naturaleza distribuida, no tiene un solo punto de falla y es de código abierto. Puede intentar trabajar con él utilizando un código de muestra en GitHub y GitBash en PC con Windows, ya que los comandos de git son simples y fácilmente disponibles en línea.

Artículos recomendados

Esta es una guía para el sistema de control de versiones GIT. Aquí discutimos los diferentes tipos de controlador de versiones con ventajas y funcionamiento. También puede consultar el siguiente artículo para obtener más información.

  1. Comandos GIT
  2. Introducción a GIT
  3. Alternativas Git
  4. ¿Qué es git?
  5. Versiones de Tableau
  6. Git Origin Master
  7. ¿Qué es el Hub?
  8. Tres etapas del ciclo de vida de Git con el flujo de trabajo
  9. ¿Cómo usar GIT Cherry-pick con Ejemplo?

Categoría: