web-dev-qa-db-fra.com

Afficher le journal git sans les commits de fusion

J'essaie de voir les validations effectuées par un utilisateur spécifique et je veux supprimer de la sortie toutes les fusions effectuées par l'utilisateur. Comment puis-je le faire?

Je peux vérifier les commits d'un utilisateur en utilisant git log --author=<name>, mais ne peut pas supprimer les commits de fusion dans la sortie.

PS: les conflits de fusion ne se produisent pas dans le flux de travail du référentiel en question, toutes les branches sont rebasées avant de fusionner en maître, il est donc prudent de supprimer les validations de fusion de la sortie et, de même, deux branches de fonctionnalité ne sont pas fusionnées la possiblity.

52
mu 無

utilisation

git log --author=<name> --no-merges

De plus, l'option --first-parent Peut vous donner des résultats utiles:

--first-parent Ne suit que le premier commit parent lors de l'affichage d'un commit de fusion. Cette option peut donner une meilleure vue d'ensemble lorsque vous visualisez l'évolution d'une branche de sujet particulière, car les fusions dans une branche de sujet ont tendance à ne concerner que l'ajustement périodique aux mises à jour en amont, et cette option vous permet d'ignorer les validations individuelles apportées à votre histoire par une telle fusion. Ne peut être combiné avec --bisect.

81
0xAX

Vous pouvez omettre les fusions avec --no-merges:

git log --no-merges --author=<name>

Voir la page de manuel du journal git pour plus de détails.

16
morxa