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
| Option | Signification |
|---|---|
| -L <a>,<b> | only those lines |
| -w | ignore whitespace, so re-indenting stops hiding the author |
| -C | follow code moved in from another file |
| --ignore-rev <rev> | skip a commit, e.g. a bulk reformat |
| -e | show email addresses instead of names |
| -s | drop the author and date columns |
Exemples
git blame -L 40,60 src/app.tswho last touched lines 40 to 60
git blame -w -C src/app.tslooks past whitespace and moved code
git blame --ignore-rev 9f3c2ab src/app.tsignores 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