Las tres zonas de Git

Antes de los comandos hay que entender por dónde pasa un archivo. Git no guarda todo lo que modificas: tú eliges qué entra en cada commit.

flowchart LR
    A["Directorio de trabajo<br/>tus archivos"] -->|git add| B["Zona de preparación<br/>staging"]
    B -->|git commit| C["Repositorio local<br/>historial .git"]
    C -->|git push| D["Repositorio remoto<br/>GitHub"]
    D -->|git pull| A

Un archivo modificado no está en ningún commit hasta que lo agregas (add) y lo confirmas (commit). Y no está en GitHub hasta que lo subes (push).

Comandos comunes

git status

Muestra en qué estado está todo: qué archivos modificaste, cuáles están preparados para el próximo commit y cuáles Git todavía no conoce.

git status

Es el comando que más vas a usar

Ante cualquier duda sobre qué está pasando, git status te lo dice. Ejecútalo antes y después de cada comando mientras estás aprendiendo.

git diff

Muestra las líneas exactas que cambiaron respecto a la última versión guardada.

git diff

Sirve para revisar qué vas a subir antes de hacerlo. Se sale con q.

git add .

Prepara los archivos para el próximo commit. El punto significa “todo lo que hay en esta carpeta y sus subcarpetas”.

git add .

También puedes preparar un archivo específico:

git add index.html

git commit

Confirma los archivos preparados y los guarda en el historial con un mensaje.

git commit -m "Agrega el formulario de contacto"

La -m es el mensaje. Si la omites, Git abrirá un editor de texto en la terminal para que lo escribas.

El mensaje importa

Escribe qué cambió, no “cambios” o “avance”. Un buen mensaje permite encontrar después en qué commit se rompió algo.

MalBien
cambiosAgrega validación al formulario de login
asdasdCorrige el menú que se desarmaba en móvil
finalCambia la paleta de colores del header

git push

Sube tus commits al repositorio remoto en GitHub.

git push

Hasta que no hagas push, tus commits existen solo en tu computador. Si el computador falla, se pierden.

git pull

Trae los cambios que estén en GitHub y no tengas en tu copia local.

git pull

Es imprescindible al trabajar en grupo, o cuando usas más de un computador.

git clone

Descarga un repositorio completo por primera vez. Ya lo viste en la página anterior.

git clone https://github.com/tu-usuario/tu-proyecto.git

Tabla resumen

ComandoQué haceCuándo lo usas
git statusMuestra el estado actualTodo el tiempo
git diffMuestra las líneas que cambiaronAntes de hacer commit
git add .Prepara los cambiosAntes de cada commit
git commit -m "…"Guarda una versión en el historialAl terminar algo que funciona
git pushSube los commits a GitHubAl terminar de trabajar
git pullBaja los commits de GitHubAl empezar a trabajar
git clone <url>Descarga un repositorio completoUna vez por proyecto

Flujo de trabajo con Git

Este es el ciclo de un día cualquiera de trabajo:

flowchart LR
    A([Empiezas]) --> B["git pull<br/>traer cambios"]
    B --> C["Programas"]
    C --> D["git add .<br/>preparar"]
    D --> E["git commit -m<br/>guardar"]
    E --> F["git push<br/>subir"]
    F --> G([Listo])
    E -.->|sigues trabajando| C

En comandos:

git pull                              # 1. Traes lo que haya nuevo
# ... programas ...
git status                            # 2. Revisas qué cambiaste
git add .                             # 3. Preparas los cambios
git commit -m "Agrega la galería"     # 4. Guardas la versión
git push                              # 5. Subes a GitHub

Empieza siempre con pull, termina siempre con push

El pull del principio evita conflictos: partes desde la versión más reciente. El push del final evita perder trabajo y, en este curso, es lo que registra la fecha de tu entrega.

Commits pequeños y frecuentes

No esperes a terminar todo para hacer un commit. Cada vez que algo funcione, aunque sea pequeño, haz commit. Así el historial cuenta la construcción del proyecto y siempre tienes un punto seguro al que volver.

Checkpoint

Intenta responder antes de desplegar cada pregunta.