Al final del día, en la industria del software, casi ningún producto es obra de una sola persona.

Este documento ha sido creado siguiendo el curso de Git y GitHub de Platzi con Amin Espinoza.

The Basics: Sistemas de control de vesiones.

<aside> 💡

Enlaces útiles

Git y Git Hub Roadmap

https://missing.csail.mit.edu/2020/version-control/

Pro Git Book - Libro de 0 a PRO

https://ohshitgit.com/ - Solución a errores comunes.

https://www.youtube.com/watch?v=2ReR1YJrNOM

</aside>

Git y GitHub son herramientas de control de versiones (Version Control System - ‣ ) que ayudar a los desarrolladores a manejar cambios en su código. Permite que múltiples versiones de un proyecto existan simultáneamente, haciendo más fácil colaborar con otros y mantener un registro de todas las modificaciones.

Los VCSs registran cambios en una carpeta y sus contenidos en una serie de ‣ , donde se encapsula el estado completo de los archivos/carpetas dentro de una carpeta de nivel superior o carpeta de proyecto. Cada instantanea también contiene metadatos como el autor de la instantánea, mensajes asociados, y mucho más.

¿Por qué es útil es sistema de control de versiones?

Un sistema de control de versiones permite poder revisar instantáneas/versiones antiguas de un proyecto, registrar el motivo de ciertos cambios o trabajar en ramas paralelas de desarrollo. Trabajando con otros, es una herramienta especialmente útil para ver que los cambios realizados por otras personas, y también resolver conflictos en el desarrollo actual.

Los VCSs modernos también permiten (y a menudo automáticamente) responder a preguntas como:

Mientras que existen varios VCSs, Git es el estándar en la gran mayoría de casos.


git.png

🧔Esto es Git. Registra trabajo colaborativo en proyectos a través de un hermoso modelo distribuido en árboles.

👨 Guay. Cómo lo usamos?

🧔 Ni idea. Solo memoriza estos comandos shell y escríbelos para sincronizar. Si recibes algún error, guarda tu trabajo en alguna otra parte, borra el proyecto, y descarga una copia fresca.


Dado que la interfaz de Git es una “abstracción con fugas” (‣), aprender Git de forma descendente (‣ — empezando por su interfaz/ ‣ ) puede generar mucha confusión. Es posible memorizar un puñado de comandos y pensar en ellos como encantamientos mágicos y seguir el ejemplo del cómic cada vez que algo sale mal.

Git cuenta con una interfaz poco atractiva pero las subcapas de su diseño e ideas son hermosas. Mientras que una interfaz mal dieseñada tiene que ser memorizada, un buen diseño puede ser entendido. Por esta razón, aprendemos Git ‣, empezando con el modelo de datos y más tarde su interfaz de línea de comandos. Una vez entendido el modelo de datos será mucho más fácil comprender cómo interactúan los comandos con las subcapas de Git.

Modelo de datos de Git

Existen diversos métodos no estructurados ‣ que puedes usar para el control de versiones. Git cuenta con un modelo bien pensado que incluye características brillantes para el control de versiones, como mantener un historial, permitir ramas, y permitir la colaboración.