Comment afficher l’historique des commits d’un fichier spécifique dans Git ?

Git est l’un des systèmes de gestion de version les plus utilisés dans le développement de logiciels. Il permet aux développeurs de suivre les modifications apportées au code, de collaborer facilement sur des projets et de revenir en arrière si nécessaire. Un aspect clé de Git est sa capacité à suivre l’historique des modifications apportées à chaque fichier d’un projet.

Dans cet article, nous allons vous montrer comment afficher l’historique des commits d’un fichier spécifique dans Git. Cela peut être très utile pour comprendre l’évolution d’un fichier au fil du temps ou pour identifier des modifications précises effectuées à un moment donné.

Pré-requis

Avant de commencer, assurez-vous d’avoir les éléments suivants :

  • Un projet Git localement configuré.
  • Un fichier spécifique dont vous souhaitez consulter l’historique des commits.
  • Un terminal ou un outil de ligne de commande fonctionnel (comme Git Bash sur Windows ou Terminal sur macOS et Linux).

Afficher l’historique des commits d’un fichier spécifique

Pour afficher l’historique des commits d’un fichier spécifique dans Git, vous devez utiliser la commande git log, accompagnée du chemin relatif du fichier. Cette commande vous permet de voir tous les commits qui ont affecté ce fichier particulier.

Commande de base :

git log -- 

Remplacez par le chemin réel de votre fichier dans le répertoire Git. Par exemple, si vous souhaitez afficher l’historique des commits du fichier src/app.js, vous pouvez exécuter la commande suivante :

git log -- src/app.js

Cette commande affichera l’historique des commits sous la forme suivante :

  • Le hash du commit (identifiant unique pour chaque commit).
  • Le nom de l’auteur.
  • La date du commit.
  • Le message de commit.

Options supplémentaires pour affiner l’historique des commits

Git offre plusieurs options pour affiner l’affichage de l’historique des commits et rendre la recherche plus spécifique. Voici quelques-unes des options les plus courantes :

1. Afficher un nombre limité de commits

Si vous ne souhaitez pas afficher tous les commits, vous pouvez limiter le nombre de résultats en utilisant l’option -n (ou --max-count) :

git log -n 5 -- 

Cette commande affiche les 5 derniers commits qui ont modifié le fichier spécifié.

2. Afficher les changements sous forme de diff

Pour voir non seulement l’historique des commits, mais aussi les changements apportés à chaque commit, vous pouvez ajouter l’option -p :

git log -p -- 

Cette commande affiche les différences ligne par ligne pour chaque commit qui affecte le fichier spécifié.

3. Afficher l’historique avec un format personnalisé

Git permet de personnaliser le format de sortie avec l’option --pretty. Par exemple, vous pouvez utiliser la commande suivante pour afficher l’historique sous un format abrégé :

git log --pretty=oneline -- 

Cette commande affiche chaque commit sur une seule ligne, avec l’identifiant du commit et le message de commit.

4. Afficher l’historique entre deux commits

Vous pouvez également spécifier un intervalle de commits pour voir les changements dans un fichier entre deux commits spécifiques. Utilisez la syntaxe suivante :

git log .. -- 

Remplacez et par les identifiants des commits que vous souhaitez examiner. Par exemple :

git log abc123..def456 -- src/app.js

Filtrer l’historique par auteur ou par date

Git permet de filtrer l’historique des commits d’un fichier spécifique par auteur ou par date. Voici quelques exemples pratiques :

Filtrer par auteur

Pour afficher l’historique des commits effectués par un auteur spécifique, utilisez l’option --author :

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

Remplacez "Nom de l'Auteur" par le nom de l’auteur dont vous souhaitez afficher les commits.

Filtrer par date

Pour afficher l’historique des commits d’un fichier spécifique effectués à une certaine date, utilisez l’option --since ou --until. Par exemple, pour afficher les commits depuis le 1er janvier 2024 :

git log --since="2024-01-01" -- 

Vous pouvez aussi combiner les deux filtres pour obtenir une vue encore plus précise.

Conclusion

Afficher l’historique des commits d’un fichier spécifique dans Git est un processus simple et puissant qui vous permet de suivre l’évolution de vos fichiers au fil du temps. Grâce à diverses options de filtrage, vous pouvez personnaliser l’affichage des commits et obtenir exactement les informations dont vous avez besoin.

Que vous soyez un développeur travaillant en solo ou en équipe, comprendre l’historique des commits est essentiel pour la gestion de votre projet Git et la collaboration efficace avec d’autres membres de votre équipe.

FAQ

1. Comment annuler un commit spécifique sur un fichier ?

Si vous souhaitez annuler un commit particulier qui a affecté un fichier, vous pouvez utiliser git revert ou git reset, selon votre besoin. La commande git revert crée un nouveau commit inversant les changements, tandis que git reset vous permet de revenir à un état antérieur de votre projet.

2. Comment voir l’historique d’un fichier dans une branche spécifique ?

Pour voir l’historique des commits d’un fichier dans une branche spécifique, vous pouvez spécifier la branche dans la commande git log :

git log  --