Comment vérifier si un commit Git a été effectué par un auteur spécifique

GitGitBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si un commit Git a été effectué par un auteur spécifique. Nous allons explorer deux méthodes principales : filtrer l'historique des commits à l'aide de la commande git log --author pour afficher les commits d'un individu particulier, et utiliser git show avec le hash d'un commit pour vérifier les détails de l'auteur d'un seul commit.

Grâce à des exercices pratiques, vous allez pratiquer l'utilisation de ces commandes dans un dépôt Git d'exemple. Nous allons montrer comment filtrer les commits par nom d'auteur, puis utiliser git show pour examiner les informations sur l'auteur d'un commit spécifique, afin que vous puissiez identifier efficacement le contributeur de tout changement dans votre historique Git.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/SetupandConfigGroup -.-> git/config("Set Configurations") git/BasicOperationsGroup -.-> git/add("Stage Files") git/BasicOperationsGroup -.-> git/commit("Create Commit") git/BasicOperationsGroup -.-> git/diff("Compare Changes") git/BranchManagementGroup -.-> git/log("Show Commits") subgraph Lab Skills git/config -.-> lab-560070{{"Comment vérifier si un commit Git a été effectué par un auteur spécifique"}} git/add -.-> lab-560070{{"Comment vérifier si un commit Git a été effectué par un auteur spécifique"}} git/commit -.-> lab-560070{{"Comment vérifier si un commit Git a été effectué par un auteur spécifique"}} git/diff -.-> lab-560070{{"Comment vérifier si un commit Git a été effectué par un auteur spécifique"}} git/log -.-> lab-560070{{"Comment vérifier si un commit Git a été effectué par un auteur spécifique"}} end

Exécuter git log --author pour filtrer

Dans cette étape, nous allons apprendre à filtrer l'historique des commits en utilisant le drapeau --author avec la commande git log. Cela est utile lorsque vous souhaitez voir uniquement les commits effectués par une personne spécifique.

Tout d'abord, assurons-nous que nous sommes dans le répertoire de notre projet. Ouvrez votre terminal et tapez :

cd ~/project/my-time-machine

Maintenant, utilisons git log avec le drapeau --author pour voir les commits effectués par "Jane Doe". N'oubliez pas que nous avons configuré le nom de l'auteur lors de l'étape de configuration.

git log --author="Jane Doe"

Vous devriez voir le commit que nous avons effectué dans le laboratoire précédent :

commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <[email protected]>
Date:   Mon Aug 7 10:00:00 2023 +0000

    Send a message to the future

Si vous aviez des commits d'autres auteurs, ils n'apparaîtraient pas dans cette sortie. Cela montre comment vous pouvez facilement filtrer l'historique des commits pour vous concentrer sur les contributions d'un individu spécifique.

Être capable de filtrer le journal des commits par auteur est un outil puissant, surtout lorsqu'on travaille en équipe. Cela vous permet de voir rapidement qui a effectué des modifications spécifiques et de comprendre les contributions de chaque membre de l'équipe.

Appuyez sur q pour quitter la vue du journal.

Utiliser git show pour vérifier l'auteur

Dans cette étape, nous allons utiliser la commande git show pour afficher les détails d'un commit spécifique, y compris les informations sur l'auteur. Cela est utile lorsque vous souhaitez examiner en détail un seul commit.

Assurez-vous que vous êtes toujours dans le répertoire ~/project/my-time-machine.

Tout d'abord, récupérons le hash du commit (l'identifiant unique) de notre commit. Nous pouvons utiliser git log --oneline pour obtenir une version plus courte du journal :

git log --oneline

Vous devriez voir une sortie similaire à celle-ci :

a1b2c3d (HEAD -> master) Send a message to the future

La première partie, a1b2c3d (votre hash sera différent), est le hash court du commit. Copiez ce hash.

Maintenant, utilisez la commande git show suivie du hash du commit que vous avez copié :

git show <paste_your_commit_hash_here>

Par exemple, si votre hash était a1b2c3d, vous taperiez :

git show a1b2c3d

La sortie affichera les détails de ce commit spécifique, y compris l'auteur :

commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <[email protected]>
Date:   Mon Aug 7 10:00:00 2023 +0000

    Send a message to the future

diff --git a/message.txt b/message.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/message.txt
@@ -0,0 +1 @@
+Hello, Future Me

Vous pouvez clairement voir la ligne Author: confirmant que "Jane Doe" a effectué ce commit. La commande git show est un moyen puissant d'inspecter des commits individuels, de voir exactement quels fichiers ont été modifiés et d'afficher le contenu de ces modifications.

Appuyez sur q pour quitter la vue.

Tester avec plusieurs auteurs

Dans cette étape, nous allons simuler un autre auteur effectuant un commit pour voir comment git log --author fonctionne avec plusieurs contributeurs.

Tout d'abord, modifions la configuration de l'auteur Git pour le prochain commit. Nous pouvons le faire temporairement pour ce dépôt :

git config user.name "John Smith"
git config user.email "[email protected]"

Maintenant, créons un nouveau fichier en tant que "John Smith" :

echo "Hello from John" > johns-file.txt

Ajoutons le nouveau fichier à la zone de préparation (staging area) :

git add johns-file.txt

Et validons le changement en tant que "John Smith" :

git commit -m "Add a file from John"

Vous devriez voir une sortie indiquant qu'un nouveau commit a été créé par "John Smith".

Maintenant, utilisons git log pour voir l'historique complet :

git log

Vous verrez deux commits, l'un de "Jane Doe" et l'autre de "John Smith".

Maintenant, filtrons le journal pour n'afficher que les commits de "Jane Doe" :

git log --author="Jane Doe"

Cela n'affichera que le premier commit.

Enfin, filtrons le journal pour n'afficher que les commits de "John Smith" :

git log --author="John Smith"

Cela n'affichera que le deuxième commit.

Cela montre comment git log --author est efficace pour filtrer les commits en fonction de l'auteur, ce qui est essentiel pour suivre les contributions dans les projets collaboratifs.

Appuyez sur q pour quitter les vues du journal.

Résumé

Dans ce laboratoire (lab), nous avons appris à vérifier si un commit Git a été effectué par un auteur spécifique. Nous avons d'abord utilisé la commande git log --author pour filtrer l'historique des commits et n'afficher que les commits effectués par un auteur désigné, démontrant son utilité pour se concentrer sur les contributions individuelles dans un environnement d'équipe.

Ensuite, nous avons exploré l'utilisation de la commande git show avec un hash de commit spécifique pour afficher les informations détaillées de ce commit, y compris le nom et l'e-mail de l'auteur, offrant ainsi une méthode pour vérifier l'auteur d'un changement particulier. Enfin, nous avons testé ces méthodes avec plusieurs auteurs pour confirmer leur efficacité à distinguer les contributions de différents individus.