git blame
git
Uso
git blame [-L <start>,<end>] <file>Marca cada linha com o commit que a alterou por último; uma reformatação esconde o autor real, e é para isso que servem -w e --ignore-rev.
Opções comuns
| Opção | Significado |
|---|---|
| -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 |
Exemplos
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
O confuso é que desfazer tem várias formas: mover para onde um branch aponta não é o mesmo que criar um commit que reverte.
Como ler
- Os colchetes [ ] marcam uma parte que você pode omitir.
- As reticências … indicam que você pode listar vários.
- As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.
Perguntas
Q. O que git blame faz?
Marca cada linha com o commit que a alterou por último; uma reformatação esconde o autor real, e é para isso que servem -w e --ignore-rev.
Q. Como se digita?
git blame [-L <start>,<end>] <file> — os colchetes marcam o que você pode omitir.
Q. Quantas opções vale a pena saber?
Aqui estão 6; a lista completa está em man git. Este comando fica em git.
Comandos relacionados
página man: man git-blame