Breaking

Post Top Ad

Your Ad Spot

viernes, 14 de junio de 2019

Git: revertir una fusión

Si combina una rama en otra, y por cualquier motivo decida que desea deshacer la fusión, hay algunas formas de hacerlo con Git.
La solución a esto es más simple si aún no ha enviado los cambios a un repositorio remoto, y si lo ha hecho, es probable que tenga que confiar en algo como en git revertlugar de la solución propuesta a continuación. Para este breve artículo, explicaré cómo puede deshacer una fusión de Git que aún no se ha impulsado.
El primer paso sería utilizar reflogpara encontrar el compromiso justo antes de la fusión:
$ git reflog
Al ejecutar esto en su repositorio, se mostrará una lista de confirmaciones recientes, que incluyen los hashes abreviados, la distancia HEADy la descripción. Se verá algo como esto:
$ git reflog
8135d07 HEAD@{0}: commit (merge): Merge branch local/bug-34 into local/master  
03979c8 HEAD@{1}: commit: Added support for query params  
9f7a993 HEAD@{2}: commit (initial): Initial commit  
Una vez que encuentre el compromiso al que desea volver, use el resetcomando, similar a lo que hicimos al revertir a un compromiso anterior , que es esencialmente lo que estamos haciendo aquí:
$ git reset --hard <commit-hash>
Por lo tanto, en el ejemplo anterior, es posible que deseamos volver a la confirmación con el mensaje "Se agregó soporte para los parámetros de consulta", lo cual haríamos así:
$ git reset --hard 03979c8
La --hardopción revertirá el código en el árbol, la puesta en escena y las copias de trabajo. Si no quiere perder ningún cambio local que haya hecho, --merge--mixedpuede haber mejores opciones para usted.
Si la confirmación a la que desea volver está solo detrás HEAD, entonces puede usarla ORIG_HEADcomo acceso directo en el resetcomando:
$ git reset --hard ORIG_HEAD
Esto será más fácil en algunos casos ya que no tendrá que usarlo reflogpara encontrar el hash de confirmación. ORIG_HEADes más o menos equivalente a HEAD@{1}, así que solo úselo si desea revertir una única confirmación.
Nota : Una vez que haya presionado los cambios a un repositorio remoto, no se recomienda revertir las confirmaciones de esta manera ya que estaría borrando el historial. En ese caso, recomiendo usar el git revertcomando, que deshará los cambios no deseados como una confirmación por separado.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas