Comment réparer l'erreur Git: vous devez d'abord résoudre votre index actuel

L'erreur « Vous devez d'abord résoudre votre index actuel » se produit dans Git et signifie qu'il y a un conflit de fusion et à moins que vous ne résolviez le conflit, vous ne serez pas autorisé à effectuer une extraction vers une autre branche. Ce message d'erreur signifie également qu'une fusion a échoué ou qu'il y a des conflits avec les fichiers.

Erreur: vous devez d'abord résoudre votre index actuel dans le contrôle de source Git

Quels sont tous ces fichiers, fusions et conflits? Ces termes vous seront inconnus si vous êtes un débutant dans l'utilisation de Git. Git est une plateforme de contrôle de version qui permet à plusieurs personnes de travailler simultanément sur des fichiers et de pousser leur copie locale du code vers celle stockée dans le cloud. De cette façon, si vous modifiez du code téléchargé (ou déjà poussé) et que vous le poussez à nouveau dans le cloud, les modifications seront écrasées dans le cloud par votre copie locale.

Git a un concept de branches. Il existe une branche principale et plusieurs autres branches en sortent. Cette erreur se produit en particulier si vous passez d'une branche à une autre (en utilisant l'extraction) et qu'il y a des conflits dans les fichiers de la branche actuelle. S'ils ne sont pas résolus, vous ne pourrez pas changer de branche.

Quelles sont les causes de l'erreur Git: vous devez d'abord résoudre votre index actuel?

Comme mentionné précédemment, les causes de cette erreur sont assez limitées. Vous rencontrerez cette erreur car:

  • Une fusion a échoué et vous devez résoudre le conflit de fusion avant de passer à d'autres tâches.
  • Il y a des conflits dans les fichiers de votre branche actuelle (ou ciblée) et à cause de ces conflits, vous ne pourrez pas extraire une branche ou un code push.

Avant de poursuivre la solution, assurez-vous que vous disposez d' un contrôle de version approprié et qu'il est sage d'empêcher les autres membres de l'équipe de modifier le code avant de résoudre le conflit.

Solution 1: résolution du conflit de fusion

Si votre fusion n'est pas automatiquement résolue par Git, elle laisse l'index et l'arborescence de travail dans un état spécial qui vous donne toutes les informations dont vous avez besoin pour résoudre la fusion. Les fichiers qui ont des conflits seront marqués spécialement dans l'index et jusqu'à ce que vous résolviez le problème et mettiez à jour l'index, vous continuerez à recevoir ce message d'erreur.

  1. Résolvez tous les conflits . Vérifiez les fichiers qui ont des conflits car ils seront marqués par l'index et apportez-y les modifications en conséquence.
  2. Après avoir résolu tous les conflits existants, ajoutez le fichier, puis validez .

Un exemple est:

$ git add file.txt $ git commit

Vous pouvez ajouter votre commentaire personnel tout en vous engageant. Un exemple est:

$ git commit –m "Ceci est le référentiel Appuals Git"
  1. Après avoir résolu le conflit, essayez d'extraire votre branche existante et voyez si le problème est résolu.

Solution 2: Annulation de votre fusion

Il existe de nombreux cas où vous fusionnez des branches et que vous vous trompez. En raison de tous les conflits et de la confusion, le projet est maintenant en désordre et les membres de votre équipe vous en veulent. Dans ce cas, vous devez annuler la validation précédente (la validation de fusion) . Cela annulera entièrement la fusion et ramènera l'ensemble du projet à un état où vous n'avez effectué aucune fusion. Cela peut être une bouée de sauvetage si vous avez gâché des choses irréparables.

Pour annuler la fusion , tapez ce qui suit:

$ git reset -–merge

La commande ci-dessus réinitialisera l'index et mettra à jour les fichiers dans l'arborescence de travail qui sont différents entre le «commit» et le «head». Cependant, il conservera les fichiers qui sont différents entre l'index et l'arbre de travail.

Vous pouvez également essayer de restaurer HEAD en utilisant la commande suivante:

$ git revert HEAD

Si vous souhaitez spécifier la validation de fusion exacte que vous souhaitez annuler, vous pouvez utiliser la même commande de restauration mais spécifier des paramètres supplémentaires. Le hachage SHA1 du commit de fusion sera utilisé. Le -m suivi du 1 indique que nous voulons conserver le côté parent de la fusion (la branche dans laquelle nous fusionnons). Le résultat de ce retour est que Git créera un nouveau commit qui annulera les modifications de la fusion.

$ git revert -m 1 dd8d6f587fa24327d5f5afd6fa8c3e604189c8d4>

Recommandé

Correction: Minecraft ne répond pas
Qu'est-ce que l'application d'enregistrement de périphérique de tuner TV numérique et doit-elle être supprimée?
Qu'est-ce que FileRepMalware et devez-vous le supprimer?