921 votes

Quelle est la façon la plus simple de git une liste de fichiers en conflit?

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

Il n'y a rien de plus simple:

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

ou

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

?

Je suppose que je pourrais configurer un alias pratique pour le faire, je me demandais comment les pros le faire. J'aimerais l'utiliser pour écrire shell boucles par exemple, de résoudre automatiquement les conflits, etc.. Peut-être remplacer cette boucle en le branchant sur le mergetool.cmd?

1591voto

Charles Bailey Points 244082
git diff --name-only --diff-filter=U

51voto

Jones Agyemang Points 79

Voici un moyen infaillible:

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

42voto

inger Points 4841

En essayant de répondre à ma question:

Non, il ne semble pas être une méthode plus simple que celle de la question, hors de la boîte.

Après avoir tapé que dans de trop nombreuses fois, juste collé le plus court dans un fichier exécutable nommé "git-conflits", a rendu accessible à git, maintenant je peux simplement: git conflicts pour obtenir la liste que je voulais.

Mise à jour: comme Richard l'indique, vous pouvez définir 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 un bac dir partie de l'opération).

28voto

Rafa Points 715

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

23voto

mda Points 617
git status --short | grep "^UU "

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