Menu
CoddyTech

Git Push

Última actualización

git push sube los commits de tu rama local a su equivalente remoto (como GitHub). Una vez que una rama tiene un upstream configurado, basta con un simple git push; el primer push de una rama nueva usa -u para crear la rama remota y configurar el seguimiento, de modo que los push y pull futuros no necesiten argumentos.

Prueba estos comandos en el terminal playground: una shell real en tu navegador, sin nada que instalar.

git push sube tus nuevos commits locales a la rama remota.

Sintaxis

CommandWhat it does
git pushSube la rama actual a su upstream
git push -u origin featureSube una rama nueva y fija el upstream
git push origin mainSube a un remoto y una rama específicos
git push --tagsSube todos los tags locales
git push --force-with-leaseForce push seguro tras un rebase

Casos comunes

GoalCommand
Subir una rama totalmente nuevagit push -u origin feature
Subir después de fijar el upstreamgit push
Subir un solo taggit push origin v1.0.0
Eliminar una rama remotagit push origin --delete feature

Ejemplo práctico

PasoComandoResultado
1git remote add origin <url>Conecta el repositorio local con el remoto bajo el nombre origin
2git push -u origin mainCrea main en el remoto y lo fija como upstream de tu main local
3git pushCada push posterior en main ya no necesita argumentos

Preguntas frecuentes sobre git push

¿Qué hace git push?
Envía los commits que tiene tu rama local y le faltan a la rama remota, y luego mueve la rama remota para que coincida. Solo sube commits: los cambios sin confirmar se quedan en tu equipo, así que haz commit primero. Si el remoto tiene commits que tú no tienes, el push se rechaza hasta que hagas pull o rebase.
¿Cómo subo una rama nueva al remoto?
Ejecuta git push -u origin <branch>. El -u (abreviatura de --set-upstream) crea la rama en el remoto y enlaza tu rama local con ella, de modo que después un simple git push y git pull funcionan sin argumentos. La rama remota no existe hasta este primer push.
¿Por qué git push dice 'no upstream branch'?
Tu rama local aún no está enlazada a una rama remota. Súbela con git push -u origin <branch> para crear la rama remota y fijar el upstream. Después de eso, git push por sí solo sabe adónde enviar los commits.
¿Cómo subo tags?
Los tags no se suben por defecto. Sube un solo tag con git push origin <tagname>, o súbelos todos a la vez con git push --tags. Este es un tropiezo habitual: un tag que creaste localmente no aparecerá en el remoto hasta que lo subas de forma explícita.
¿Cómo hago un force push de forma segura?
Después de reescribir el historial (un rebase o un amend), usa git push --force-with-lease en lugar de --force. Solo sobrescribe el remoto si nadie más ha hecho push desde tu último fetch, protegiendo el trabajo de tus compañeros. Consulta la página de git force push para la explicación completa.
¿Qué significa git push -u origin main?
origin es el remoto (consulta git remote), main es la rama y -u fija esa rama remota como upstream de tu main local. Es el comando que GitHub muestra para un repositorio nuevo: después de ejecutarlo una vez, git push y git pull en main ya no necesitan argumentos.
¿Cuál es la diferencia entre git push y git pull?
Mueven commits en direcciones opuestas. git push sube tus commits locales al remoto; git pull descarga los commits nuevos del remoto y los fusiona en tu rama. Un push rechazado como non-fast-forward suele significar que primero tienes que hacer pull. Consulta git fetch vs pull para ver qué hace pull por debajo.
¿Puedo practicar esto en línea?
Sí. Abre el terminal playground para ejecutar git push en una shell real en tu navegador, sin nada que instalar. El curso interactivo y gratuito de Git de Coddy también cubre el trabajo con remotos paso a paso.
Ilustración de los lenguajes de programación de Coddy

Aprende Git con Coddy

COMENZAR