Saltar al contenido

¿Restablecer / revertir una rama completa a otro estado de ramas?

Solución:

Una forma de lograrlo es a través de git reset. Mientras que en la rama B ejecutar

git reset --hard A

A partir de entonces, rama B apunta al compromiso de cabeza de A. los --hard La opción restablece el índice y el árbol de trabajo para que todos los archivos rastreados se restablezcan a la versión en la rama A. El antiguo ID de compromiso HEAD de A se almacena en .git/ORIG_HEAD para permitir deshacer el cambio.

Alternativamente, mientras no está en la sucursal B – puedes eliminar la rama B y lo recreé así:

git branch -d B     # delete branch B
git branch B A      # re-create branch B and let it point to the commit of branch A

Aparte de la primera sugerencia, esto dejará intactos el índice y el árbol de trabajo.

Si quieres tu sucursal B para verse exactamente como una rama A. Podrías hacer un reset --hard

git checkout branch-B

git reset --hard branch-A

Tenga cuidado de perder confirmaciones en este caso. Su branch-B se verá exactamente como branch-A, las confirmaciones que se hicieron en branch-B, que no estaban presentes en branch-A, serán perdió. Además, si la rama B se comparte con otras personas, no se recomienda realizar esta operación.

En ese caso, puede intentar revertir las confirmaciones que no desea en la rama B

git revert <sha-of-"some other commit">
git revert <sha-of-"merge of other stuff from branch C (into branch B)"> 

La segunda confirmación parece una combinación de confirmación, por lo que es posible que también tenga que pasar el padre.

 git revert <sha-of-"merge of other stuff from branch C (into branch B)"> -m1

Para completar, agreguemos esta forma muy simple de lograrlo:

git branch -f branchB branchA

Aprovecha el hecho de que las ramas en git son meros indicadores. Este comando simplemente reemplaza la referencia a la confirmación de punta de una rama con otra. No es necesario realizar cambios complejos en la estructura para construir algo que ya tiene.

(Ver el doc)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *