Introducción a git¶
Git es un sistema de control de versiones distribuido que se diferencia del resto en el modo en que modela sus datos.
La mayoría de los demás sistemas almacenan la información como una lista de cambios (deltas) en los archivos.
![Modelo de datos de los sistemas distribuidos tradicionales](_images/distribuido-tradicional.png)
Modelo de datos de los sistemas distribuidos tradicionales¶
Mientras que Git modela sus datos más como un conjunto de instantáneas de un mini sistema de archivos.
![Modelo de datos de Git](_images/distribuido-git.png)
Modelo de datos de Git¶
Los tres estados de un fichero¶
Git tiene tres estados principales en los que se pueden encontrar tus archivos: modificado (modified), preparado (staged) y confirmado (committed).
![Estados de un archivo](_images/graphviz-157c18a69be5e6ee7972164300abc907f2783c0d.png)
- Modified o modificado
significa que has modificado el archivo pero todavía no lo has confirmado a tu base de datos.
- Staged o preparado
significa que has marcado un archivo modificado en su versión actual para que vaya en tu próxima confirmación.
- Commited o confirmado
significa que los datos están almacenados de manera segura en tu base de datos local.
Las tres secciones principales de un proyecto¶
Las tres secciones principales de un proyecto de Git son: el directorio de Git (Git directory), el directorio de trabajo (working directory), y el área de preparación (staging area).
![Directorio de trabajo, área de preparación, y directorio de Git](_images/git-estados.png)
Directorio de trabajo, área de preparación, y directorio de Git¶
- Git directory
donde está almacenada toda la información del repositorio (directorio
.git
de nuestro proyecto).- Staging area
los ficheros que están en seguimiento para ser incluidos en nuestro siguiente commit.
- Working directory
todos los ficheros y directorios con los que trabajamos incluyendo ficheros que pueden no pertenecer a nuestro proyecto y no tener seguimiento aún.