Question Quel est le moyen le plus simple d'obtenir une liste de fichiers en conflit?


J'ai juste besoin d'une liste simple de fichiers en conflit.

Y a-t-il quelque chose de plus simple que:

git ls-files -u  | cut -f 2 | sort -u

ou

git ls-files -u  | awk '{print $4}' | sort | uniq

?

Je suppose que je pourrais mettre en place un alias pratique pour cela, mais je me demandais comment les pros le font. Je l'utiliserais pour écrire des boucles de shell, par exemple pour auto-résoudre les conflits etc .. Peut-être remplacer cette boucle en se connectant à mergetool.cmd?


508
2018-06-17 21:08


origine


Réponses:


git diff --name-only --diff-filter=U

881
2018-06-03 23:43



Essayer de répondre à ma question:

Non, il ne semble pas y avoir de moyen plus simple que celui de la question.

Après avoir tapé cela trop souvent, juste collé le plus court dans un fichier exécutable nommé 'git-conflicts', rendu accessible à git, maintenant je peux juste: git conflicts pour obtenir la liste que je voulais.

Mise à jour: comme le suggère Richard, vous pouvez configurer un alias git, comme alternative à l'exécutable

git config --global alias.conflicts '!git ls-files -u | cut -f 2 | sort -u'

Un avantage de l'utilisation de l'exécutable sur l'alias est que vous pouvez partager ce script avec les membres de l'équipe (dans une partie bin du repo).


32
2018-06-26 21:07



git status affiche "à la fois modifié" à côté des fichiers qui ont des conflits au lieu de "modifié" ou "nouveau fichier", etc


17
2017-10-19 09:53



git status --short | grep "^UU "

16
2018-02-10 16:33



Voici un moyen infaillible:

grep -H -r "<<<<<<< HEAD" /path/to/project/dir

16
2017-12-16 11:50



vous pouvez frapper git ls-files -u sur votre ligne de commande, il répertorie les fichiers avec des conflits


10
2017-08-11 07:34



Cela fonctionne pour moi:

git grep '<<<<<<< HEAD'

ou

git grep '<<<<<<< HEAD' | less -N


9
2017-10-27 15:57



git diff --check affichera la liste des fichiers contenant des marqueurs de conflit, par exemple:

> git diff --check
index-localhost.html:85: leftover conflict marker
index-localhost.html:87: leftover conflict marker
index-localhost.html:89: leftover conflict marker
index.html:85: leftover conflict marker
index.html:87: leftover conflict marker
index.html:89: leftover conflict marker

la source : https://ardalis.com/detect-git-conflict-markers


6
2018-03-20 11:14



Peut-être que cela a été ajouté à Git, mais les fichiers qui n'ont pas encore été résolus sont listés dans le message d'état (git status) comme ceci:

#
# Unmerged paths:
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#   both modified:      syssw/target/libs/makefile
#

Notez qu'il s'agit de la section Chemins non fusionnés.


3
2018-04-21 15:04