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



Essayez Notre Instrument Pour Éliminer Les Problèmes

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 le retrait 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

Erreur: vous devez d'abord résoudre votre index actuel



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 y a une branche principale et plusieurs autres branches en dérivent. 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:

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

Avant de procéder à la solution, assurez-vous que vous avez contrôle de version approprié et 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, cela 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, ajouter le fichier puis commettre .

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 le commit précédent (le commit de fusion) . Cela annulera entièrement la fusion et ramènera l'ensemble du projet dans 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.

À 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 retour de la tête 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>
3 minutes de lecture