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.
Sintaxis
| Command | What it does |
|---|---|
git push | Sube la rama actual a su upstream |
git push -u origin feature | Sube una rama nueva y fija el upstream |
git push origin main | Sube a un remoto y una rama específicos |
git push --tags | Sube todos los tags locales |
git push --force-with-lease | Force push seguro tras un rebase |
Casos comunes
| Goal | Command |
|---|---|
| Subir una rama totalmente nueva | git push -u origin feature |
| Subir después de fijar el upstream | git push |
| Subir un solo tag | git push origin v1.0.0 |
| Eliminar una rama remota | git push origin --delete feature |
Preguntas frecuentes sobre git push
¿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.¿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.