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.
Mal
Bien
cambios
Agrega validación al formulario de login
asdasd
Corrige el menú que se desarmaba en móvil
final
Cambia 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.
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é cambiastegit add . # 3. Preparas los cambiosgit commit -m "Agrega la galería" # 4. Guardas la versióngit 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.
¿Cuál es el flujo normal para subir cambios al repositorio?
git pull # 1. Traes lo que haya nuevo# ... programas ...git status # 2. Revisas qué cambiastegit add . # 3. Preparas los cambiosgit commit -m "Agrega la galería" # 4. Guardas la versióngit push # 5. Subes a GitHub
Siempre se empieza con pull y se termina con push.
¿Cuáles son los comandos más comunes en Git?
Comando
Qué hace
git status
Muestra el estado actual
git diff
Muestra las líneas que cambiaron
git add .
Prepara los cambios
git commit -m "…"
Guarda una versión en el historial
git push
Sube los commits a GitHub
git pull
Baja los commits de GitHub
git clone <url>
Descarga un repositorio completo
¿Qué diferencia hay entre git add y git commit?
git addprepara: marca qué archivos van a entrar en la próxima fotografía,
pero todavía no guarda nada en el historial. git commitconfirma: toma lo
preparado y lo guarda como una versión, con su mensaje.
Son dos pasos y no uno porque así puedes elegir qué entra en cada commit, en vez de
verte obligado a guardar todo lo que tocaste.
¿Dónde están tus commits si hiciste commit pero no push?
Solo en tu computador, dentro de la carpeta .git del proyecto. Nadie más los
ve y, si el computador falla, se pierden. En este curso además significa que la
entrega no quedó registrada: la fecha la marca lo que está en GitHub.
¿Por qué conviene empezar la sesión con git pull?
Porque parte tu trabajo desde la versión más reciente. Si empiezas sin hacer
pull y alguien subió cambios mientras tanto, al intentar hacer push Git te lo
rechazará, y si ambos tocaron las mismas líneas tendrás un conflicto que resolver.