Git existe desde 2006 cuando fue creado por Linus Torvalds, la misma mente detrás de Linux. Entre 2006 y el presente, Git se ha convertido en el sistema de control de versiones dominante (VCS) utilizado en el desarrollo de software, eclipsando a otros como Mercurial, Subversion, BitKeeper, Darcs y una plétora de herramientas menos conocidas. Es una buena apuesta si escribes código y alguna vez has colaborado con otros desarrolladores, Git es el VCS que usa.

A medida que avanzamos hacia 2022, Git sigue siendo relevante por una variedad de razones y es probable que mantenga su dominio durante bastante tiempo, como te mostraré en esta publicación. Es una parte importante de la rutina de un desarrollador, y estar informado sobre sus tendencias actuales y posibles futuras es importante para la carrera de uno.

Dominio actual de Git

Por qué Git sigue siendo relevante en 2021

El factor determinante más fuerte de la relevancia actual es simplemente el hecho de que ya es el sistema de control de versiones elegido por la gran mayoría de desarrolladores. Esto significa que los desarrolladores individuales, los equipos independientes, los usuarios académicos y los departamentos de la industria continuarán eligiéndolo, ya que eso es con lo que la comunidad de desarrolladores y el grupo de talentos están familiarizados. Los fuertes se vuelven más fuertes y las herramientas más débiles desaparecen de la corriente principal.

También significa que los equipos que han tardado en adoptar tecnologías más nuevas como Git continuarán haciendo el cambio, probablemente a un ritmo cada vez mayor. Hay muchos equipos que todavía operan con herramientas VCS centralizadas más antiguas como Subversion. Es probable que esto se deba a que sus organizaciones han estado arraigadas en ese sistema durante muchos años.

Recibe mi Newsletter semanal
Recibirás un email semanal (los domingos por la mañana) con el mejor contenido que vaya encontrado por la red.


Yo también odio el spam solo contenido de valor a través de mi newsletter

Sin embargo, cada vez más de ellos se verán obligados por factores económicos a actualizarse. Esto se debe a que Git proporciona flujos de trabajo de colaboración más flexibles y una mayor parte de sus empleados técnicos estarán familiarizados con él. Como veremos más adelante, también es extremadamente fácil migrar una base de código previamente rastreada con una herramienta diferente.

Marca de Git

Por qué Git sigue siendo relevante en 2021

El segundo factor más poderoso de la relevancia continua de Git es su marca. Cuando las personas piensan en el control de versiones y el código de seguimiento, instantáneamente piensan en el. Incluso los no desarrolladores están familiarizados con sitios de alojamiento de código como GitHub y BitBucket. GitHub está especialmente en el ojo y la conciencia de la corriente principal.

Una marca fuerte es importante porque permite a las personas en el mundo reconocer un producto o servicio, participar en las narrativas que lo rodean y ayudar a influir en otros para que lo usen. También permite que el producto o servicio se asocie con temas contextualmente relevantes, en este caso, desarrollo de software, programación y colaboración.

Esto es especialmente cierto en nuestros tiempos, donde los algoritmos y rastreadores de Google generan mucha influencia, lo que genera tráfico entre temas asociados. Es como la Coca-Cola del control de versiones. En última instancia, su marca lo ayudará a inculcar aún más a los usuarios existentes mientras atrae a nuevos desarrolladores todos los días.

La facilidad de cambiar a Git

Por qué Git sigue siendo relevante en 2021

Como mencioné anteriormente, los usuarios que lo conocen y desean cambiarse son una cosa, pero debe haber un camino sencillo para migrar proyectos heredados a Git. Afortunadamente, proporciona documentación completa para migrar desde otros sistemas .

Esencialmente, para cada sistema, tiene un subcomando que permite la interacción con ese sistema fuente. Por ejemplo, el git svn <subcommand>conjunto de comandos se usa para interactuar con los repositorios de Subversion. Piensa en cada uno de estos comandos como un traductor entre el sistema fuente y el backend.

Incluso proporciona un importador personalizado que puedes utilizar para migrar tu proyecto desde otros sistemas que no admite de forma inmediata.


Design thinking

Caso de uso mínimo viable

En general, el control de versiones puede ser un tema complicado de entender para los nuevos desarrolladores a medida que aprenden a programar . No es el conjunto de conceptos más intuitivo para aprender, y se necesita práctica del mundo real en un par de proyectos antes de dominarlo.

Sin embargo, en mi opinión, el «caso de uso mínimo viable» para usarlo solo requiere aprender algunos comandos relativamente simples. Aunque es flexible y puede admitir muchos flujos de trabajo de equipo diferentes, existe un camino muy simple para aprender los conceptos básicos. Esto se basa en los conceptos centrales de Git del directorio de trabajo , el área de preparación y los cambios comprometidos.

El directorio de trabajo es el conjunto de archivos y carpetas de código que existen actualmente en tu sistema de archivos. Estos son los archivos que abres en tu editor de código y realizas cambios. Todos los sistemas de control de versiones tienen un directorio de trabajo (o un término equivalente), por lo que realmente no es exclusivo de Git.

Una vez que hayas terminado una tarea de codificación en particular, como corregir un error o agregar una nueva función, puedes agregar tus archivos modificados al área de prueba de Git (también llamada índice de prueba o caché) usando el git add <file.ext>comando. Piensa en esto como una especie de purgatorio para tu código: es código que se estás preparando para almacenar permanentemente en Git una vez que todos los cambios se coloquen allí juntos.

El área de preparación es esencialmente un concepto desarrollado por Git. Otros sistemas tienden a omitir este paso, que en mi opinión omite un paso preparatorio importante que ayuda a los desarrolladores a comprometer código limpio.

La última parte del proceso es confirmar los cambios en el área de ensayo en el repositorio de Git. Esto se hace usando el comando git commit -m “Commit message”. Esto toma todos los cambios que se agregaron al área de preparación y crea un nuevo objeto de confirmación, que se almacena en tu repositorio de Git. Esta confirmación se convierte en la punta de la rama actual, vinculada a la confirmación anterior en la cadena, o confirmación principal.

Los últimos tres párrafos describen esencialmente la funcionalidad principal. La curva de aprendizaje de estos conceptos es relativamente superficial, lo que seguirá incorporando nuevos desarrolladores al ecosistema. Por lo tanto, Git seguirá siendo una herramienta de codificación esencial para que los nuevos desarrolladores aprendan .

Otras eficiencias

También te podría interesar

Además de las funcionalidades básicas descritas en la sección anterior, tiene muchos otros principios y características de diseño que lo convierten en una herramienta más eficiente que los competidores de VCS. Estos incluyen bifurcaciones y fusiones ligeras, un modelo de referencia flexible, una base de datos direccionable por contenido y muchos más.

Antes de que apareciera, las herramientas VCS existentes como CVS (Concurrent Versions System) convertían el código en una pesadilla. Con CVS, los usuarios a menudo terminaban con complejos cambios de código conflictivos que requerían mucho esfuerzo para resolverlos manualmente. Git popularizó el paradigma de «fusión fácil y frecuente», donde los desarrolladores crean nuevas ramas con frecuencia, incluso para pequeñas funciones / correcciones, y Git normalmente puede manejar la fusión de los cambios en la rama principal automáticamente.

Esto es excelente para los desarrolladores porque minimiza el tiempo y el esfuerzo dedicados a solucionar manualmente los conflictos de fusión.

También tiene un modelo de referencia eficiente que es intuitivo para los desarrolladores sin necesidad de que se metan en problemas técnicos. Permite a los usuarios crear nombres para sus ramas y crear etiquetas que marquen las confirmaciones de ramas específicas. Los nombres y las etiquetas de las ramas son parte de un grupo más general de objetos llamados referencias, o refs, que apuntan a las confirmaciones subyacentes.

Además, gestiona algunas referencias, como Git HEAD , para representar la punta de la rama actual. Estas referencias permiten a los desarrolladores comprender fácilmente con qué confirmaciones están trabajando, sin tener que lidiar con la compleja jerga.

El último aspecto que tocaremos aquí es la base de datos de objetos direccionables por contenido. Almacena todos sus datos sobre su código en algo llamado base de datos de objetos. Este es un directorio oculto en su repositorio. Cuando rastrea archivos, agrega archivos al área de preparación y crea confirmaciones, Git crea objetos en la base de datos de objetos. Estos objetos se nombran en función del contenido que contienen, por lo que los llamamos «direccionables por contenido».

Esto te permite aprovechar numerosas eficiencias de rendimiento y ejecutar varios comandos mucho más rápido que otras herramientas.

Git continúa evolucionando

Un último factor que señalaré es que el código de Git continúa evolucionando. Tiene una comunidad de desarrollo de código abierto muy activa formada por un conjunto central de desarrolladores rodeado por cientos de otros contribuyentes.

Por lo tanto, es probable que incluso si otras herramientas desarrollan características que amplían los límites de la industria del control de versiones, la experiencia de los desarrolladores les permitirá adaptar e integrar funcionalidades similares.

Esto le da a Git un foso sólido que protege la herramienta de la competencia tecnológica en rápido cambio del siglo XXI.

El futuro de Git

Por qué Git sigue siendo relevante en 2021

Los factores descritos en este artículo forman un fuerte argumento para el dominio continuo de Git en el futuro. Incluso si una nueva herramienta supera a Git desde el punto de vista de la tecnología o la usabilidad, la mayoría de los desarrolladores tardarían años en cambiar de Git a esa nueva herramienta.

Para fines comparativos, podemos mirar los lenguajes de programación. Incluso los lenguajes de programación muy antiguos como Fortran, C y Perl todavía están en uso y desarrollo activo hoy a pesar de la llegada de nuevas alternativas como Java, JavaScript, Python , Rust, Go y más.

La clave para mantener el poder es que sus comunidades sigan viviendo. En mi opinión, incluso si Git es superado por otra herramienta, seguirá teniendo un lugar en la caja de herramientas del desarrollador de software durante las próximas décadas.

Es cierto que el manejo de Git puede ser desafiante y confuso, pero para eso estamos, para ayudar. Contacta hoy para programar tu sesión de estrategia y dejar que comience la lluvia de ideas.

Recibe mi Newsletter semanal
Recibirás un email semanal (los domingos por la mañana) con el mejor contenido que vaya encontrado por la red.


Yo también odio el spam solo contenido de valor a través de mi newsletter
Pedro De la nube

Deja un comentario

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

Ir arriba
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.Ver
Privacidad