Introducción a Git para principiantes
Veamos cómo funciona el sistema Git. Este sistema se encarga de la mayor parte del trabajo. Hace automáticamente copias de seguridad, pero copiando solo los cambios, y no todos los archivos. Permite cambiar fácilmente entre versiones del proyecto, desarrollando tanto la primera versión como la segunda en la misma carpeta. Facilita el intercambio de cambios con colegas. Permite desarrollar funciones en paralelo fácilmente, fusionándolas luego con el proyecto principal.
Aprendamos la terminología de Git. La carpeta con las copias de seguridad en Git se llama repositorio. Técnicamente, no almacena todos y cada uno de los archivos, sino solo sus cambios. A partir de los cambios siempre se pueden restaurar los archivos a cualquier estado. Y almacenar solo cambios previene el crecimiento rápido del tamaño del repositorio.
Cuando queremos guardar algo en la carpeta de copias de seguridad, en términos de Git esto se llama hacer un commit. En el commit indicamos un comentario para nuestro guardado, para que luego podamos rastrear fácilmente lo que hicimos y, si es necesario, revertirlo.
Para la situación en la que queremos trabajar en una función específica del proyecto en una copia separada del proyecto, se inventaron las ramas. Git permite cambiar entre ramas de desarrollo, y al hacerlo Git cambiará los archivos directamente en la carpeta del proyecto. Es decir, cuando cambiamos de una rama a otra, Git directamente en la carpeta del proyecto eliminará unos archivos y mostrará otros.
Después de trabajar en una función en una rama separada, podemos fusionar fácilmente el código listo con nuestra rama principal. Al hacerlo, Git rastreará los archivos que pertenecen simultáneamente a diferentes ramas. Y, si los cambios en ellos entran en conflicto, al fusionar Git nos lo indicará y nos pedirá que resolvamos el conflicto. Por supuesto, Git no resolverá el conflicto del código por nosotros, solo lo señalará. Podremos corregir el código y luego llevar a cabo la fusión.
Git permite que el repositorio principal del proyecto se almacene en internet. Para ello existen servicios especiales, por ejemplo, GitHub. Esto significa que todos los desarrolladores del proyecto enviarán sus cambios a un mismo lugar. Y este lugar, gracias a estar alojado en internet, estará siempre disponible. Otros desarrolladores también podrán obtener los cambios fácilmente, accediendo a este repositorio.
Sin embargo, para el desarrollo, internet no es necesario en absoluto. Se puede desarrollar en el propio ordenador en un lugar sin internet: en un avión, en un tren, en la casa de campo. Y luego, al conectarse a internet, subir los cambios al repositorio común.
En las siguientes lecciones, consideraremos más detalladamente los conceptos básicos del sistema Git y aprenderemos a trabajar con él. Se supone que ya sabes trabajar con la línea de comandos. Si no, primero estudia el tutorial de línea de comandos y solo luego pasa a las siguientes lecciones.