Git push: Subir los cambios al repositorio central

El comando git push sube el contenido de un repositorio local a un repositorio central. Dado que este comando sobrescribe los cambios, solo debe ejecutarse con una rama vacía como objetivo.

Dominios web baratos

Dominios tan originales como tus ideas.

Registra tu dominio con IONOS y disfruta de las funciones integrales que tenemos para ofrecerte.

Correo incluido
Certificado SSL
Asistencia 24/7

¿Qué es git push?

Con Git, puedes trabajar en un proyecto tranquilamente y sin correr riesgos, mientras que los miembros de tu equipo continúan al mismo tiempo con sus respectivas tareas. El uso de repositorios individuales lo hace posible. Sin embargo, cuando hayas completado tus cambios y quieras integrarlos en todo el proyecto, el comando Git git push puede ayudarte. Con este comando, subes el contenido de tu repositorio local al repositorio remoto, que a su vez es accesible para los demás desarrolladores. Por tanto, git push es una herramienta muy importante para el éxito de tu proyecto.

El comando funciona como contraparte a git fetch o git pull. Mientras que estos dos comandos te permiten extraer contenido de un repositorio remoto a tu repositorio local, git push va en sentido contrario. A través de estos comandos, muchos pasos tienen lugar simultáneamente (en esto Git se diferencia de SVN. Una vez completados los cambios, basta con subirlos al repositorio remoto. Es importante tener en cuenta que git push sobrescribe otros cambios, por lo que el comando debe utilizarse con cuidado.

Sintaxis y funcionalidad de git push

La sintaxis de git push es sencilla. Primero escribes el comando en sí, luego especificas el repositorio remoto y después la rama local que quieres subir. Cuando se escribe tiene este aspecto:

git push <remote-repository> <rama-local></rama-local></remote-repository>

A continuación, Git crea una rama local en el repositorio de destino y sube todo el contenido, los commits y los objetos internos. Sin embargo, como característica de protección, el sistema de control de versiones bloquea el git push si la carga no puede realizarse en una fusión rápida. Esto evita que los commits sean sobrescritos accidentalmente por el comando.

Ejemplo de git push

En el siguiente ejemplo, te mostraremos cómo es un git push en la práctica. Supongamos que has realizado cambios en tu repositorio local, los has probado ampliamente y los has dado por buenos. En el siguiente paso, estos cambios están listos para el repositorio remoto para que los demás miembros de tu equipo también puedan acceder a ellos. Para ello, ahora utilizamos varios comandos que siempre tendrás a mano con la práctica hoja de Git Cheat en PDF descargable.

git checkout main
git fetch origin main
git rebase -I origin/main
# Squash commits, fix up commit messages etc.
git push origin main

Con el comando git checkout cambiamos a la rama principal. Con git fetch nos aseguramos de que el repositorio local se corresponde con el estado del repositorio central. El comando git rebase fusiona el estado del repositorio central con el de tu repositorio local. Esto permite hacer una fusión rápida más adelante, ya que la base de los repositorios centrales y locales es la misma. A continuación, se realiza el git push propiamente dicho, que transmite tu estado actual incluyendo todos los cambios al repositorio central.

Otras opciones del comando

Además del comando estándar explicado anteriormente, también hay otras opciones para git push.

Cargar todas las ramas

git push <remote-repository> --all</remote-repository>

Este comando es similar al estándar, pero en lugar de subir una rama seleccionada, sube todas las ramas locales directamente al repositorio central. De esta forma, no tendrás que hacer este trabajo paso por paso.

Subir etiquetas

git push <remote-repository> --tags</remote-repository>

Con esta opción se envían todas las etiquetas locales al repositorio remoto. Las etiquetas no se incluyen en un git push ordinario.

Forzar git push

git push <remote-repository> --force</remote-repository>

Este comando corresponde a la versión estándar, pero también realiza el git push si no es posible la fusión rápida. Dado que esto aumenta el riesgo de que puedas sobrescribir los cambios y, por tanto, causar problemas, deberías evitar utilizar esta variante.

Git push en un repositorio vacío

Para asegurar que los proyectos más grandes no se vean dañados por git push, se recomienda transferir solo a los repositorios vacíos. Se crean con la opción “--bare”. Cuando se transfiere a repositorios vacíos, los cambios y el progreso de otros desarrolladores y la estructura del repositorio remoto no se ven afectados.

Eliminar ramas con git push

También puedes utilizar git push para eliminar una rama de forma local y remota. El comando correspondiente tiene el siguiente aspecto:

git branch -d rama_antigua
git push origin :rama_antigua

Con ello, se elimina la rama “rama_antigua” del repositorio remoto.

Consejo

Implementa páginas web y aplicaciones online en solo tres pasos. Con Deploy Now de IONOS te beneficiarás de una rápida configuración y máxima escalabilidad. Reserva ahora y prueba Deploy Now durante un mes de forma gratuita.