Comment lister tous les commits effectués par un auteur spécifique dans Git ?

Git est un système de contrôle de version populaire qui permet aux développeurs de suivre les modifications apportées à leur code source. L’une des fonctionnalités les plus puissantes de Git est sa capacité à permettre aux utilisateurs de filtrer et de rechercher les commits de manière précise. Si vous souhaitez lister tous les commits effectués par un auteur spécifique dans Git, cet article vous guidera étape par étape.

Pourquoi lister les commits d’un auteur spécifique ?

Il y a plusieurs raisons pour lesquelles un développeur ou un responsable de projet pourrait vouloir lister les commits effectués par un auteur spécifique dans un dépôt Git. Parmi les raisons les plus courantes, on trouve :

  • Vérifier l’historique des modifications d’un contributeur particulier.
  • Effectuer des revues de code plus ciblées pour un auteur donné.
  • Analyser les contributions dans le cadre de statistiques ou de rapports de projet.
  • Faciliter la gestion des conflits de fusion en identifiant les auteurs des modifications conflictuelles.

Prérequis

Avant de commencer, assurez-vous que vous avez les éléments suivants :

  • Un dépôt Git local cloné ou initialisé.
  • Accès en ligne de commande pour exécuter des commandes Git.
  • Connaissance de l’auteur dont vous souhaitez lister les commits. Un commit Git contient un nom et une adresse e-mail associés à chaque contribution.

Utiliser la commande git log pour lister les commits d’un auteur spécifique

Git offre une commande puissante appelée git log qui permet de visualiser l’historique des commits dans un dépôt. Pour lister uniquement les commits effectués par un auteur spécifique, vous pouvez utiliser l’option --author avec git log.

Syntaxe de base de la commande

git log --author="Nom de l'auteur" 

Exemple : si vous voulez lister les commits effectués par un auteur nommé “Jean Dupont”, vous utiliseriez la commande suivante :

git log --author="Jean Dupont"

Cette commande affiche tous les commits dans l’historique de votre dépôt où l’auteur correspond à “Jean Dupont”. L’option --author permet de filtrer par nom, email ou les deux, selon ce qui est utilisé dans les commits.

Affichage des commits avec des informations supplémentaires

Vous pouvez personnaliser l’affichage des résultats en ajoutant des options supplémentaires à la commande git log. Par exemple :

  • --oneline : Affiche chaque commit sur une seule ligne avec l’identifiant abrégé du commit.
  • --since : Filtre les commits effectués après une certaine date.
  • --until : Filtre les commits effectués avant une certaine date.
  • --pretty=format:"%h - %an, %ar : %s" : Affiche les commits de manière plus lisible en personnalisant le format d’affichage.

Exemple complet avec options supplémentaires :

git log --author="Jean Dupont" --oneline --since="2024-01-01" --until="2024-12-31" --pretty=format:"%h - %an, %ar : %s"

Cette commande listera tous les commits de l’auteur “Jean Dupont” réalisés en 2024, avec un format d’affichage simplifié et lisible.

Filtrage avancé avec git log

Git offre une grande flexibilité dans la manière dont vous pouvez filtrer les commits. Si vous avez besoin d’un filtrage plus avancé, vous pouvez combiner plusieurs options. Par exemple, si vous souhaitez lister uniquement les commits où un auteur spécifique a modifié un fichier particulier, vous pouvez utiliser la commande suivante :

git log --author="Jean Dupont" -- 

Cette commande ne listera que les commits effectués par “Jean Dupont” concernant un fichier spécifique. De plus, vous pouvez ajouter des options telles que --grep pour rechercher des mots-clés spécifiques dans les messages de commit :

git log --author="Jean Dupont" --grep="bug fix"

Cette commande affichera uniquement les commits de “Jean Dupont” contenant “bug fix” dans leurs messages.

Utilisation de git shortlog pour un résumé des commits par auteur

Si vous souhaitez obtenir un résumé des commits effectués par chaque auteur d’un projet, la commande git shortlog est idéale. Cette commande regroupe les commits par auteur et affiche le nombre de commits réalisés par chaque personne.

Commande de base

git shortlog --author="Jean Dupont"

Cette commande listera un résumé des commits effectués par “Jean Dupont”, incluant le nombre de commits et leurs messages. C’est un excellent moyen d’obtenir une vue d’ensemble des contributions d’un auteur sur un projet.

Conclusion

Git est un outil puissant pour gérer les versions du code source, et il offre de nombreuses fonctionnalités pour explorer l’historique des commits. Lister les commits effectués par un auteur spécifique est une tâche simple avec la commande git log, et vous pouvez la personnaliser de manière flexible en utilisant divers filtres. Que vous soyez un développeur cherchant à suivre les contributions d’un collègue ou un gestionnaire de projet cherchant à obtenir des statistiques de projet, ces commandes vous permettront de naviguer efficacement dans l’historique de votre dépôt Git.

Questions fréquentes

1. Comment puis-je lister les commits d’un auteur avec son email ?

Vous pouvez filtrer les commits en utilisant l’email de l’auteur de la manière suivante :

git log --author="email@exemple.com"

2. Puis-je utiliser des expressions régulières pour filtrer les commits d’un auteur ?

Oui, l’option --author supporte les expressions régulières. Vous pouvez ainsi filtrer les commits de manière plus précise en utilisant des motifs.

3. Est-il possible d’obtenir un rapport détaillé sur les commits d’un auteur ?

Oui, vous pouvez utiliser des outils comme git shortlog ou combiner git log avec des options telles que --stat pour obtenir un rapport détaillé sur les commits effectués par un auteur spécifique.