Accueil·Commandes du terminal

git blame

git

Syntaxe

git blame [-L <start>,<end>] <file>

Attribue à chaque ligne le commit qui l'a modifiée en dernier ; un simple reformatage masque le véritable auteur, d'où -w et --ignore-rev.

Options courantes

OptionSignification
-L <a>,<b>only those lines
-wignore whitespace, so re-indenting stops hiding the author
-Cfollow code moved in from another file
--ignore-rev <rev>skip a commit, e.g. a bulk reformat
-eshow email addresses instead of names
-sdrop the author and date columns

Exemples

git blame -L 40,60 src/app.ts

who last touched lines 40 to 60

git blame -w -C src/app.ts

looks past whitespace and moved code

git blame --ignore-rev 9f3c2ab src/app.ts

ignores the commit that reformatted everything

Ce qui embrouille, c’est qu’annuler a plusieurs formes : déplacer là où pointe une branche n’est pas ajouter un commit qui l’inverse.

Comment lire

  • Les crochets [ ] marquent une partie facultative.
  • Les points de suspension … signifient qu’on peut en mettre plusieurs.
  • Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.

Questions fréquentes

Q. Que fait git blame ?

Attribue à chaque ligne le commit qui l'a modifiée en dernier ; un simple reformatage masque le véritable auteur, d'où -w et --ignore-rev.

Q. Comment l’écrire ?

git blame [-L <start>,<end>] <file> — les crochets marquent ce qui est facultatif.

Q. Combien d’options valent la peine ?

Il y en a 6 ici ; la liste complète est dans man git. Cette commande relève de git.

Commandes liées

page man: man git-blame