Publicar Cambios al Servidor: git push y Ramas Upstream
Aprende a subir tus confirmaciones locales a GitHub mediante git push, qué significa el modificador -u (upstream tracking) y cómo proteger la rama principal frente a sobreescrituras accidentales.
¿Qué hace git push?
El comando git push toma los commits que has realizado en tu repositorio local y los transmite de forma segura al servidor remoto (como GitHub). Es el acto que hace visible tu trabajo ante tu equipo y tus clientes.
La Primera Vez: El Modificador -u (Upstream)
La primera vez que subes una rama nueva a GitHub, debes asociar tu rama local con una rama remota equivalente en el servidor. Esto se hace con la bandera -u (o --set-upstream):
git push -u origin main
Al hacer esto, Git recordará el vínculo para siempre. En los días siguientes, cuando estés en esa rama, ya no tendrás que escribir origin main: bastará con ejecutar simplemente:
git push
¿Qué hacer si git push es rechazado?
Si un compañero de equipo subió cambios al servidor antes que tú, Git rechazará tu push con un mensaje de [rejected - non-fast-forward]:
error: failed to push some refs to 'github.com:...'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing...
--force sobreescribe y destruye el trabajo que tus compañeros subieron. La forma correcta de solucionarlo es:
- Bajar primero los cambios del servidor con
git pull. - Resolver cualquier conflicto si lo hubiera.
- Ahora sí, ejecutar
git pushnormalmente.
⚡ Comandos Clave de Publicación de Ramas con git push
Ejemplos para publicar ramas principales, ramas de funcionalidad y ramas remotas:
# 1. Publicar una rama nueva por primera vez vinculando upstream:
git push -u origin main
# 2. Publicar una rama de características para que un compañero la revise:
git push -u origin feature/pasarela-paypal
# 3. En los días siguientes, subir cambios rutinarios de la rama activa:
git push
# 4. Eliminar una rama que ya no se necesita directamente en el servidor remoto:
git push origin --delete feature/pasarela-paypal
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual Completo de Git & GitHub Profesional y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.