Cómo corregir el error de Git: primero debe resolver su índice actual

El error " Necesita resolver su índice actual primero " ocurre en Git y significa que hay un conflicto de fusión y, a menos que resuelva el conflicto, no se le permitirá pasar a otra rama. Este mensaje de error también significa que una combinación falló o que hay conflictos con los archivos.

Error: primero debe resolver su índice actual en el control de fuente de Git

¿Qué son todos estos archivos, fusiones y conflictos? Estos términos serán desconocidos para usted si es un principiante en el uso de Git. Git es una plataforma de control de versiones que permite a varias personas trabajar en archivos simultáneamente y enviar su copia local del código a la que está almacenada en la nube. De esta manera, si cambia algún código descargado (o ya enviado) y lo vuelve a enviar a la nube, los cambios serán sobrescritos en la nube por su copia local.

Git tiene un concepto de ramas. Hay una rama maestra y varias otras ramas se derivan de ella. Este error ocurre particularmente si está cambiando de una rama a otra (usando el checkout) y hay conflictos en los archivos de la rama actual. Si no se resuelven, no podrá cambiar de rama.

¿Qué causa el error de Git? ¿Necesita resolver su índice actual primero?

Como se mencionó anteriormente, las causas de este error son bastante limitadas. Experimentarás este error porque:

  • Una combinación falló y debe abordar el conflicto de combinación antes de continuar con otras tareas.
  • Hay conflictos en los archivos en su rama actual (o en la rama objetivo) y debido a estos conflictos, no podrá verificar una rama o un código de inserción.

Antes de continuar con la solución, asegúrese de tener el control de versiones adecuado y es aconsejable evitar que otros miembros del equipo cambien el código antes de resolver el conflicto.

Solución 1: resolución del conflicto de fusión

Si Git no resuelve automáticamente su combinación, deja el índice y el árbol de trabajo en un estado especial que le brinda toda la información que necesita para resolver la combinación. Los archivos que tengan conflictos se marcarán especialmente en el índice y hasta que resuelva el problema y actualice el índice, seguirá recibiendo este mensaje de error.

  1. Resuelve todos los conflictos . Compruebe los archivos que tienen conflictos, ya que estarán marcados por el índice y realice los cambios correspondientes.
  2. Una vez que haya resuelto todos los conflictos existentes, agregue el archivo y luego confirme .

Un ejemplo es:

$ git agregar archivo.txt $ git confirmar

Puede agregar su comentario personal mientras se compromete. Un ejemplo es:

$ git commit –m "Este es el repositorio de Git de Appuals"
  1. Una vez que haya resuelto el conflicto, intente verificar su sucursal existente y vea si el problema está solucionado.

Solución 2: revertir su combinación

Hay numerosos casos en los que fusiona ramas y se estropea. Debido a todos los conflictos y la confusión, el proyecto ahora es un desastre y los miembros de su equipo lo culpan por ello. En este caso, debe revertir el compromiso anterior (el compromiso de fusión) . Esto deshará la fusión por completo y devolverá todo el proyecto a un estado en el que no realizó ninguna fusión. Esto puede salvarle la vida si ha estropeado las cosas sin posibilidad de reparación.

Para revertir la combinación , escriba lo siguiente:

$ git reset -–merge

El comando anterior restablecerá el índice y actualizará los archivos en el árbol de trabajo que son diferentes entre el 'compromiso' y el 'encabezado'. Sin embargo, mantendrá aquellos archivos que sean diferentes entre el índice y el árbol de trabajo.

También puede intentar revertir el HEAD usando el siguiente comando:

$ git revertir HEAD

Si desea especificar la confirmación de fusión exacta que desea revertir, puede usar el mismo comando de reversión pero especificar parámetros adicionales. Se utilizará el hash SHA1 de la confirmación de fusión. El -m seguido del 1 indica que queremos mantener el lado principal de la fusión (la rama en la que nos fusionamos). El resultado de esta reversión es que Git creará una nueva confirmación que revierte los cambios de la fusión.

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>