Início·Comandos de terminal

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çãoSignificado
-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

Exemplos

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

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