Git Push forzar cambios
En este artículo, veremos cómo introducir cambios locales con fuerza en el repositorio remoto en Git.
Git solo permite enviar cambios locales al repositorio remoto que son descendientes de los cambios en el repositorio remoto.
En algunos casos, es posible que deseemos impulsar los cambios que no lo son (es decir, cambios que pueden anteceder a los cambios en el repositorio remoto).
Necesitamos usar el comando git push
con la opción --force
en tales casos.
Ahora ilustraremos esto con un ejemplo.
Uso de git push --force
para empujar con fuerza los cambios locales en el repositorio remoto en Git
A veces, cuando trabajamos en un entorno de desarrollo colaborativo, nos encontramos con una situación en la que hemos enviado algunos cambios en el repositorio remoto.
Ahora, decidimos que esos cambios ya no son relevantes y queremos enviar nuevos cambios locales al repositorio remoto.
Además, es posible que algunos otros compañeros de equipo ya hayan realizado esos cambios en el repositorio remoto, que hemos impulsado anteriormente; y puede haber trabajado encima de ellos. Posteriormente, es posible que hayan enviado sus cambios al repositorio remoto.
Por lo general, Git requiere que primero extraigamos los cambios que pueden haber sido enviados por otros compañeros de equipo, desde el repositorio remoto, antes de enviar los nuevos cambios locales.
Por lo tanto, en tales casos, necesitamos usar el comando git push
con la opción --force
. La sintaxis del comando es git push origin <branch_name> --force
Supongamos que tenemos una rama llamada main
. Entonces haríamos lo siguiente para impulsar los cambios con fuerza.
$ git push origin main --force
Precaución: Esto tiene el efecto de sobrescribir los cambios ya presentes en el repositorio remoto que pueden haber ocurrido desde la inserción anterior.
Por lo tanto, los cambios que sus compañeros de equipo ya hayan hecho en el repositorio remoto se sobrescribirán.
Hay otra opción para el comando git push
: --force-with-lease
. Al usar esta opción con git push
, se imprimirá un mensaje de error y Git no enviará los cambios si ya hay algunos cambios enviados al repositorio remoto.
Esta opción --force-with-lease
asegura que no estamos sobrescribiendo los cambios de otros compañeros de equipo.
Artículo relacionado - Git Push
- Cabezal de origen Git Push
- Confirmar y enviar un solo archivo al control remoto
- Diferencia entre Git Push Origin y Git Push Origin Master
- Enviar una confirmación específica a un repositorio remoto
- Force Git Push para sobrescribir archivos en el repositorio remoto
- git add, git commit y git push en One Command