Git Push --force-with-lease vs Git Push --force
Este artículo discutirá la diferencia entre los comandos git push --force-with-lease
y git push --force
. Generalmente, usamos el comando git push
para publicar nuestros cambios locales en nuestro repositorio remoto.
Avancemos y examinemos estos mandamientos.
el comando git push --force
Al publicar nuestros cambios locales en nuestro repositorio remoto, ejecutamos:
$ git push origin
Sin embargo, en el caso de que varios desarrolladores compartan nuestro repositorio remoto y publiquen sus cambios en el repositorio remoto, Git puede rechazar una inserción.
Para obligar a Git a publicar nuestras commits, agregamos el indicador --force
a nuestro comando git push
, como se muestra a continuación.
$ git push --force origin
La desventaja de usar este comando es que no considera los cambios enviados por otros desarrolladores al repositorio remoto. El comando anulará el repositorio según el estado de su repositorio local.
Esto puede ser peligroso ya que puede estropear la línea de tiempo de nuestro proyecto. Si desea enviar cambios a un repositorio remoto y conservar los cambios realizados por otros desarrolladores, así es como lo hace.
el comando git push --force-with-lease
Este comando es útil cuando varios desarrolladores comparten un repositorio remoto. Lo usamos cuando publicamos nuestros cambios para evitar descartar los cambios impulsados por otros desarrolladores.
$ git push --force-with-lease origin
Veamos un ejemplo. Este es el estado actual de nuestro repositorio remoto.
Haremos algunos cambios en el archivo README.md
y confirmaremos los cambios mientras aún estamos en GitHub. Tenga en cuenta la identificación del commit delineada 097ab8b
.
Así es como se ve ahora.
Tenga en cuenta la identificación del commit ba29c53
.
Ahora abriremos el archivo README.md
en nuestra computadora, haremos algunas ediciones más, confirmaremos los cambios e intentaremos un git push
.
Git ha rechazado nuestro intento de inserción ya que el historial de commits es diferente. Podemos ejecutar el comando git push --force
, pero esto descartará los cambios que habíamos hecho en GitHub.
Podemos hacer git push --force-with-lease
como se muestra a continuación.
$ git push --force-with-lease
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 314 bytes | 314.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/Wachira11ke/Delftscopetech.git
+ b7b8e6a...8ddd086 main -> main (forced update)
La diferencia entre git push --force-with-lease
y git push --force
es el resultado. Enviar cambios con lease
nos ayuda a evitar descartar cambios enviados por otros desarrolladores.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedInArtí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