es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

from running smoothly. Deshacer la fusión previa de Git que está impidiendo que se ejecute correctamente la comparación de diferencias (diff).

Esta es mi situación:

Imaginemos que estoy en la branch A. Primero hice git checkout -b B para crear una nueva rama B desde A. Entonces hice algo de trabajo en B (por ejemplo, 5 commits). Luego volví a A y hice algo de trabajo (por ejemplo, 3 commits). Luego quise que ese trabajo se reflejara en B, así que cambié a B y hice git merge A. Luego continué trabajando en la rama B (por ejemplo, 5 commits más).

Ahora que he terminado, quiero fusionar B con A. Sin embargo, en GitLab, al hacer una solicitud de fusión de diferencias, solo puedo comparar la rama B con la rama master y no con A (supongo que esto se debe a la fusión). ¿Cómo puedo remediar esto para que estas ramas ya no se consideren fusionadas aunque hayan sido fusionadas previamente? Gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para remediar esta situación, puede deshacer la fusión entre la rama A y B siguiendo los siguientes pasos:

    1. Cambie a la rama A usando git checkout A.
    2. Encuentre el hash del compromiso de fusión entre A y B ejecutando git log.
    3. Ejecute git revert <merge_commit_hash> para crear un nuevo compromiso que deshaga los cambios realizados por el compromiso de fusión. Esto efectivamente deshará la fusión y A y B ya no se considerarán fusionados.
    4. Envíe estos cambios a su repositorio remoto usando git push.

    Una vez que haya deshecho la fusión entre A y B, debería poder comparar nuevamente la rama B con A en la solicitud de fusión de GitLab diff. Luego puede fusionar la rama B en A como desee.

Comments are closed.