Git blame : qui a modifie cette ligne ?
git blame affiche l'auteur, la date et le commit de chaque ligne d'un fichier. Un outil essentiel pour comprendre l'historique de ton code.
gitquest — enquête
# Mission : Le commit fantôme
$git log --oneline
a1b2c3d Premier commit
??? Un commit a disparu...
$git reflog
e4f5g6h HEAD@{1}: commit: fichier secret
$git checkout e4f5g6h
Bravo ! Commit retrouvé. +50 XP
Que montre git blame ?
Anatomie d'une ligne blame
a1b2c3d4(Anais2024-01-15 14:30)5)<meta charset="utf-8">
Hash
Le commit qui a modifie cette ligne
Auteur
Qui a fait la modification
Date
Quand la modification a ete faite
Ligne
Le numero de la ligne
Git blame en pratique
Blame simple et options avancees.
Blame basique
gitquest — blame
# Voir qui a modifie chaque ligne d'un fichier
$git blame index.html
a1b2c3d4 (Anais 2024-01-15 14:30) 1) <!DOCTYPE html>
a1b2c3d4 (Anais 2024-01-15 14:30) 2) <html lang="fr">
f5e6d7c8 (Marie 2024-02-20 09:15) 3) <head>
f5e6d7c8 (Marie 2024-02-20 09:15) 4) <title>MonSite</title>
b9c0d1e2 (Anais 2024-03-10 16:45) 5) <meta charset="utf-8">
# Chaque ligne affiche : hash, auteur, date, numero, contenu
Options utiles
gitquest — blame options
# Blame sur une plage de lignes (lignes 10 a 20)
$git blame -L 10,20 index.html
c3d4e5f6 (Pierre 2024-03-01 11:00) 10) <nav>
c3d4e5f6 (Pierre 2024-03-01 11:00) 11) <ul>
# Ignorer les changements d'espaces/indentation
$git blame -w index.html
# Suivre le code meme s'il a ete deplace d'un autre fichier
$git blame -C index.html
Detecte le code deplace depuis header.html
Options essentielles de blame
git blame <fichier>Blame complet d'un fichier
git blame -L 10,20 <fichier>Blame des lignes 10 a 20 seulement
git blame -w <fichier>Ignore les changements d'espaces
git blame -C <fichier>Detecte le code copie d'autres fichiers
git blame --since="2 weeks"Blame depuis une date donnee
git blame --ignore-rev <hash>Ignore un commit (ex: reformatage)
A
GitQuest est conçu par Anaïs, développeuse web et responsable pédagogique, spécialisée en formations tech et accessibilité numérique.
Questions sur git blame
Pratique les commandes Git dans GitQuest
Les enquetes GitQuest t'apprennent a explorer l'historique du code pour resoudre des mysteres.
Commencer les enquetes