Learn

Qué es Git

Git

El modelo mental: snapshots, historial, y por qué Git es diferente de Google Docs.

Git es un sistema de versionado: una herramienta que guarda el estado de tu proyecto en diferentes momentos, te permite volver atrás, y deja que varias personas trabajen sobre la misma base de código sin pisarse. Comparado con Google Docs o Dropbox, Git hace dos cosas radicalmente distintas: tú decides cuándo guardar (y le pones nombre a cada guardado), y cada guardado es un estado completo del proyecto, no un diff incremental.

El modelo mental: snapshots, no diffs

Mucha gente imagina Git como una serie de parches sucesivos. No es así. Git almacena snapshots: en cada commit guarda una foto completa del árbol de archivos en ese instante. Los archivos que no han cambiado son solo referencias a la versión anterior (ahorro en disco), pero conceptualmente cada commit es un estado completo y autónomo.

Consecuencia práctica: puedes moverte por el historial como en una biblioteca de fotos. Cada commit tiene un identificador único (un hash SHA, tipo a3f5b6c), una fecha, un autor, un mensaje, y un padre (salvo el primer commit). El conjunto forma un grafo.

Tres zonas, tres roles

Cuando trabajas, tu proyecto vive en tres zonas distintas:

  1. Working directory: los archivos que ves y editas en tu editor.
  2. Staging area (o "índice"): un área intermedia donde preparas tu próximo commit. Puedes poner ahí solo algunos cambios y dejar otros para después.
  3. Repository: el historial de commits, inmutable una vez registrado.

El flujo normal: editas un archivo (working), haces git add archivo.txt (staging), haces git commit -m "..." (repository). Esta separación te permite hacer commit de un tema a la vez, aunque hayas tocado diez archivos.

Local primero, remoto después

Git es distribuido: todo el historial de tu proyecto está almacenado en tu máquina, en la carpeta oculta .git/ en la raíz del proyecto. Puedes hacer commits, crear ramas, ver el historial, todo sin conexión a internet.

La sincronización con un servidor remoto (GitHub, GitLab, etc.) se hace explícitamente con git push y git pull. Tú decides cuándo publicar tu trabajo, y solo en ese momento los demás pueden verlo.

Verificar tu instalación

shell
git --version

Deberías ver una versión (por ejemplo git version 2.43.0). Si el comando no existe, instala Git desde git-scm.com.

Presentarte a Git

Antes de tu primer commit, Git quiere saber quién eres. Esta configuración se hace una vez, de forma global.

shell
git config --global user.name "Ton Prénom"
git config --global user.email "ton.email@exemple.fr"

Este email aparecerá en tus commits. Si publicas en GitHub, usa el email asociado a tu cuenta GitHub para que tus commits queden atribuidos correctamente.

Para continuar

La lección siguiente te hace crear tu primer repo, tu primer commit, y te da los comandos que usarás cada día.

Relacionado

Ver también · terminalQué es un terminal

Marca los pasos para desbloquear lo siguiente

Volver al curso