Fatal: Negarse a fusionar un error de historial no relacionado en Git

John Wachira 20 junio 2023
  1. Escenarios comunes del error fatal: negarse a fusionar historias no relacionadas en Git
  2. Resuelva el error fatal: negarse a fusionar historias no relacionadas en Git
Fatal: Negarse a fusionar un error de historial no relacionado en Git

Este artículo describe los pasos necesarios para resolver el error fatal: negarse a fusionar historias no relacionadas en Git. Por lo general, encontramos un error de este tipo cuando intentamos fusionar dos proyectos Git no relacionados en una rama.

Aparecerá cuando la rama del destinatario haya confirmado y el clon tenga etiquetas incompatibles.

Escenarios comunes del error fatal: negarse a fusionar historias no relacionadas en Git

Aquí hay algunos casos en los que probablemente encontrará el error fatal: negarse a fusionar historias no relacionadas en Git.

  1. Tiene un repositorio local que contiene confirmaciones e intenta extraer de un repositorio remoto existente. Dado que las historias son diferentes, Git no sabe cómo proceder.

    De ahí el mensaje de error.

  2. Su directorio .git está dañado.

  3. Cuando sus ramas están en diferentes posiciones de CABEZA.

Resuelva el error fatal: negarse a fusionar historias no relacionadas en Git

Podemos resolver el error al permitir la fusión no relacionada. Podemos hacer esto agregando el indicador --allow-unrelated-histories a la solicitud de extracción, como se muestra a continuación.

$ git pull origin master --allow-unrelated-histories

Git te permitirá fusionar ramas con historias no relacionadas. Es bastante fácil si sus archivos no entran en conflicto.

El método anterior es el más fácil; sin embargo, hay una ruta más larga al mismo destino.

En primer lugar, tendrá que eliminar todas las confirmaciones actuales y guardarlas. Luego puede extraer del repositorio remoto y aplicar el alijo al nuevo clon.

Esto facilita el manejo de conflictos de fusión en caso de que ocurran.

Para eliminar todos los archivos en la última confirmación, use el siguiente comando.

$ git reset HEAD~

Ejecute el siguiente comando para guardar los archivos.

$ git stash

Ahora tiene un árbol de trabajo limpio y puede ejecutar una solicitud de extracción, después de lo cual desbloqueará y aplicará los cambios guardados al árbol de trabajo. Tu puedes correr:

$ git stash pop

El comando anterior aplicará el alijo y lo descartará. Si desea aplicar y mantener el alijo, puede ejecutar:

$ git stash apply

Dicho esto, ¿cuál es la forma más fácil de evitar este mensaje de error?

Evite llevar repositorios remotos a sucursales locales que contengan confirmaciones. Si es necesario, cree una nueva rama y extraiga y combine manualmente los cambios.

En conclusión, el error fatal: negarse a fusionar historias no relacionadas ocurre cuando intentamos fusionar ramas con diferentes historias de confirmación. Hemos analizado las dos formas de resolver el error y la mejor manera de evitarlo.

John Wachira avatar John Wachira avatar

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.

LinkedIn

Artículo relacionado - Git Error