Solución:
Tendrá que hacer lo siguiente en su PC
En rama dev
$ git pull --no-rebase origin master
– Esto creará un compromiso de fusión y tendrá que resolver los conflictos en los archivos que se modifican tanto en dev como en master. git status
mostrará la lista de archivos con cambios conflictivos.
Después de resolver los conflictos, confirme todos los cambios y envíe su rama. Después de eso, debería poder completar el PR.
FYI: –no-rebase se asegura de que se realice una fusión incluso si el comportamiento de extracción se sobrescribe al valor predeterminado para reajustar.
Enlace de ayuda para más detalles
Dado que necesita mantener la versión de los archivos activada dev
rama (mantenga la rama de origen mientras cambia los archivos en la rama de destino master
), por lo que debería realizar cambios en master
rama para resolver los archivos de conflicto, y asegúrese de tener permiso para enviar cambios a master
rama.
Puede utilizar las siguientes opciones:
Opción 1: fusionar directamente
En su repositorio local, puede ejecutar los siguientes comandos para fusionar dev
dentro master
rama mientras se mantiene la versión de los archivos de conflicto como la dev
rama:
git checkout master
git merge dev -X theirs
git push origin master
Y en la solicitud de extracción existente que creó, mostrará que la rama se ha fusionado. Para que pueda abandonar la solicitud de extracción.
Opción 2: aún fusionar mediante solicitud de extracción (resolver conflictos en la rama maestra)
Puede utilizar los siguientes comandos para resolver conflictos en master
rama:
# In yout local repo
git checkout master
git checkout dev -- .
git commit -m 'replace master branch version by dev for the conflict files'
git push origin master
Si bien los cambios en la solicitud de extracción existente no se actualizarán si las nuevas confirmaciones se envían a la rama de destino (maestra). Y puede encontrar que el informe similar Pull request diff no se actualiza cuando una confirmación del PR se fusiona con el objetivo a través de otra rama.
Eso significa que la solicitud de extracción en la página web aún muestra los conflictos. Debe abandonar la solicitud de extracción existente y reactivar (o crear una nueva) para fusionar dev en la rama maestra.