54 votes

Dire si un commit Git est un commit Merge/Revert

J'écris un script qui nécessite de vérifier si un commit particulier est un commit Merge/Revert ou non, et je me demande s'il existe une astuce git pour cela.

Ce que j'ai proposé jusqu'à présent (et je ne veux certainement pas dépendre du message de validation ici) est de vérifier HASH^2 et de voir si je n'obtiens pas d'erreur, existe-t-il un meilleur moyen ?

27voto

Dave Points 527

L'instruction suivante ne videra que les hachages parents. Moins de filtrage nécessaire...

git show --no-patch --format="%P" <commit hash>

5voto

ctrueden Points 1292

Une façon de tester un commit de fusion :

 $ test -z $(git rev-parse --verify $commit^2 2> /dev/null) || echo MERGE COMMIT

En ce qui concerne les commits git revert, je suis d'accord avec @rafl pour dire que l'approche la plus réaliste consiste à rechercher le message de retour standard dans le message de commit ; si quelqu'un le changeait, le détecter serait très compliqué.

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