Teoría básica de GIT
¿Qué es GIT?
Es un sistema de control de versiones, lo que quiere decir que ayuda a mantener diferentes copias en el tiempo de los archivos, ya sean locales (tu computadora) o remotos (en un área compartida).
Como podrán ver se tienen 3 versiones del mismo archivo, en caso de requerir utilizar alguna versión anterior, podemos regresar a ella utilizando git.
Toma en cuenta que el manejo de versiones puede abarcar múltiples archivos y carpetas.
¿Cómo funciona GIT?
Para iniciar, veamos como funciona GIT de forma local, es decir en un sistema de archivos no compartido.
Existen 3 secciones principales en GIT:
· Working Directory (Working tree)
· Staging Area
· .git Directory
Para entender más fácilmente que es cada uno, usaremos una analogía:
Supongamos que tenemos los documentos originales de un proyecto dentro de una carpeta. Cada vez que queremos guardar una versión, vamos a la copiadora, sacamos las copias de los documentos y los guardamos en una carpeta nueva. Esta carpeta nueva para no confundirla con los documentos que estamos utilizando la metemos a un archivero y le damos un nombre como “version 1”.
La carpeta original la seguiremos utilizando y por lo tanto la tenemos en nuestro escritorio. Esta carpeta la podemos considerar nuestro Working Tree.
Conforme vamos modificando los documentos de la carpeta, los vamos separando en una sección de nuestro escritorio, lo cual representa el staging area.
Después de varios cambios, hemos decidido que es momento de crear otra versión, así que vamos a la copiadora y ayudándonos de la lista, únicamente copiamos los documentos que cambiaron y los colocamos dentro de una nueva carpeta para guardarla en el archivero con nombre “versión 2”
Working Directory (Working tree)
Debido a posibles confusiones, el nombre ha cambiado a Working tree.
Esta sección corresponde a los archivos con los que estás trabajando y solo pueden ser de una sola versión en el tiempo. Si quieres trabajar con otra versión de los archivos, tienes que sacarlos del .git Directory.
Staging Area
Es donde “colocas” los archivos que han cambiado y quieres incluir en la versión que estas buscando guardar o realizar commit (mas abajo veremos que significa esto)
.git Directory
Este directorio es donde se guarda la información de GIT sobre el proyecto, tanto de los archivos como de la metadata. Cada vez que guardas la versión de los documentos, estos se graban en esta carpeta.
Así como tenemos las tres secciones, tenemos tres estados correspondientes que pueden tener los archivos:
· Modified .- El archivo ha sido modificado en el working tree.
· Staged .- El archivo esta marcado para ser grabado en el .git Directory (se encuentra en el staging area)
· Commited .- El archivo ha sido grabado en el .git Directory
Ya entendido esto tenemos el suficiente conocimiento para empezar a utilizar GIT, lo cual podrás ver en mi próximo artículo.