250 votes

Erreur de fusion Git "La validation n'est pas possible car vous avez des fichiers non fusionnés".

J'ai oublié de git pull mon code avant de le modifier ; lorsque j'ai validé le nouveau code et essayé de le pousser, j'ai obtenu l'erreur "push is not possible".

À ce moment-là, j'ai fait un git pull ce qui a mis en évidence certains fichiers avec conflit. J'ai supprimé les conflits mais je ne sais pas ce qu'il faut faire maintenant.

J'ai essayé de git commit mais il est dit que le "commit n'est pas possible car vous avez des fichiers non fusionnés" :

error: Committing is not possible because you have unmerged files.

347voto

applechewer Points 1881

Si vous avez résolu les conflits, vous devez ajouter les fichiers à l'étape avec git add [filename] puis valider comme d'habitude.

69voto

Vous devez faire deux choses. Tout d'abord, ajoutez les modifications avec

git add .
git stash  

git checkout <some branch>

Cela devrait résoudre votre problème comme il l'a fait pour moi.

13voto

muman Points 64

Vous pouvez utiliser git stash pour sauvegarder le dépôt actuel avant de faire la livraison que vous voulez faire (après avoir fusionné les changements du dépôt amont avec git stash pop ). J'ai dû faire cela hier lorsque j'ai eu le même problème.

11voto

Priyanka Arora Points 48

Cette erreur se produit lorsque vous résolvez les conflits mais que le fichier doit encore être ajouté dans la zone de stage. git add . résoudrait le problème. Ensuite, essayez de commiter et de fusionner.

6voto

Macabeus Points 1314

Depuis git 2.23 (août 2019), vous disposez d'un raccourci pour le faire : git restore --staged [filepath] . Avec cette commande, vous pouvez ignorer un fichier en conflit sans avoir besoin de l'ajouter et de le supprimer.

Exemple :

> git status

  ...
  Unmerged paths:
    (use "git add <file>..." to mark resolution)
      both modified:   file.ex

> git restore --staged file.ex

> git status

  ...
  Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git restore <file>..." to discard changes in working directory)
      modified:   file.ex

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X