Comment afficher uniquement les fichiers non fusionnés dans git après un échec de fusion


33

Lors de la fusion, certains fichiers n'ont pas pu fusionner.

git status

affiche les fusions réussies et échouées.

Comment afficher uniquement les fichiers de fusion infructueux (conflit).

Actuellement, j'utilise la commande suivante pour ce faire

 find . -name '*.cpp' -o -name '*.h' | xargs grep -l '<<<<'

Réponses:


37
git diff

Cela affichera uniquement les fusions échouées après une fusion infructueuse. Il a de nombreuses options pour configurer les informations que vous souhaitez voir. Je soupçonne que c'est l'option exacte que vous recherchez:

 git diff --name-status --diff-filter=U

Voir également http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#resolving-a-merge et http://www.kernel.org/pub/software/scm/ git / docs / git-diff.html


9
Si vous voulez une liste claire de fichiers sans le U précédent, vous pouvez appeler git diff --name-only --diff-filter=U. De cette façon, vous pouvez diriger la sortie, par exemple git diff --name-only --diff-filter=U | xargs subl.
JHannes


7
git --no-pager diff --name-only --diff-filter=U

Mais comme l'objectif est le plus susceptible de modifier ces fichiers, les opérations suivantes seront parfaites:

vim $(git diff --name-only --diff-filter=U)

Merci à @JHannes d'un commentaire d'une autre réponse

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.