Tema 11: Publicar commits con push
git commit guarda en el repositorio local. git push envía los commits necesarios a un repositorio remoto y solicita actualizar una rama allí. Una edición sin confirmar no se publica por ejecutar push: primero revisa, prepara y crea el commit.
git push -u origin main publica la rama main y configura su seguimiento con la rama main de origin. Esa relación ayuda a Git a saber qué rama remota se corresponde con tu rama local. Tras configurarla, git push suele bastar para los siguientes envíos de esa rama.
La referencia local origin/main es el recuerdo que tu repositorio tiene de la rama main remota tras una comunicación. No es una conexión permanente. Puede quedarse desactualizada si otra persona publica después. En cambio, main es tu rama local, donde realizas commits.
El servidor puede rechazar un envío si no tienes permiso o si actualizar su rama descartaría commits remotos que tu rama no contiene. Ese segundo caso suele aparecer como non-fast-forward. No significa que tus commits hayan desaparecido; significa que debes conocer e integrar el trabajo compartido antes de enviar. Estudiaremos esas actualizaciones en el bloque profesional.
No uses opciones de forzado que no entiendas. En estas prácticas no son necesarias. Comprueba status, log y remote -v como en temas anteriores; un commit correcto en una URL incorrecta sigue siendo un envío al destino incorrecto.
Comandos para probar #
1git status 2git add README.md 3git commit -m "Actualiza instrucciones" 4git push -u origin main 5git push
Error que conviene evitar #
Creer que push envía el texto que sigues editando. Solo se publican commits, no cambios pendientes del trabajo o del índice.
Laboratorio local #
Prueba los comandos y observa qué cambia. Puedes reiniciar sin guardar una entrega. Los retos evaluables y el cuestionario están en las actividades de este tema.
Git / práctica local
Publica tu trabajo
Aplicar edición cambia el archivo; git add lo prepara.
Historial de commits
Cada punto representa una versión guardada.
- 0000001: Commit inicial; HEAD → main · origin/main
Comparar trabajo, índice y HEAD
Trabajo
# Mi proyecto
Índice (staging)
# Mi proyecto
HEAD
# Mi proyecto
TERMINAL
Sesión local preparada. Escribe help para consultar los comandos de este tema.
Comandos disponibles y límites
git --version · git config --global <clave> [valor] git init · git status git add <archivo | .> · git commit -m "mensaje" · git log git log --oneline · git switch <rama> (antes: checkout) git restore [--staged] <archivo> · git commit --amend [-m "mensaje" | --no-edit] git switch --detach <commit> · HEAD · HEAD~1 git diff [--staged | <commit> <commit>] git remote [-v] · git remote add <nombre> <URL> · git remote get-url <nombre> · git remote set-url <nombre> <URL> git clone <URL> git push [-u] <remoto> <rama> help · clear
Sesión en memoria: recargar descarta la práctica. Doscientas acciones como máximo. Dos archivos editables de hasta 250 líneas. El modelo no ejecuta comandos reales ni realiza conexiones externas. diff muestra contenido anterior y posterior por archivo.
Resumen
- Las ediciones pendientes deben confirmarse antes.
- Relaciona la rama local con su destino remoto.
- Se actualiza al comunicar con el remoto, no continuamente.
- Creer que push envía el texto que sigues editando. Solo se publican commits, no cambios pendientes del trabajo o del índice.