O que faz o git blame?

Vejo muitas perguntas sobre os métodos de uso, mas não as entendo.

vejo um botão blame em cima dos ficheiros na interface do github. Ao clicar nele, ele mostra algumas diferenças com nomes de usuário na barra esquerda. O que é que isso indica?

Porque é que a culpa do git é usada, para além do GitHub?

 126
git
Author: Jon Kiparsky, 2015-07-03

4 answers

De git-scm http://git-scm.com/docs/git-blame

Anota cada linha do ficheiro indicado com a informação da revisão que alterou a última linha. Opcionalmente, comece a anotar a partir da revisão indicada.

Quando indicado uma ou mais vezes, -L restringe a anotação às linhas solicitadas.

Exemplo:

[email protected]:~# git blame .htaccess
...
^e1fb2d7 (John Doe 2015-07-03 06:30:25 -0300  4) allow from all
^72fgsdl (Arthur King 2015-07-03 06:34:12 -0300  5)
^e1fb2d7 (John Doe 2015-07-03 06:30:25 -0300  6) <IfModule mod_rewrite.c>
^72fgsdl (Arthur King 2015-07-03 06:34:12 -0300  7)     RewriteEngine On
...

Por favor, note que git blame não mostra o histórico de modificações por linha na cronologia sentido. Ele só mostra quem foi a última pessoa a mudar uma linha em um documento até o último commit em HEAD.

Isto é, para ver o histórico/log completo de uma linha de documentos, você precisa executar um git blame path/to/file para cada commit em seu git log.

 91
Author: Mark, 2015-07-03 10:55:14

O comando explica-se muito bem, é para descobrir qual colega de trabalho escreveu a linha específica ou arruinou o projecto para que possa culpar Eles:)

 50
Author: XRay, 2017-08-19 18:24:07

De GitHub https://help.github.com/articles/using-git-blame-to-trace-changes-in-a-file

O comando blame é um recurso Git, projetado para ajudá-lo a determinar quem fez alterações num ficheiro.

Apesar do seu nome negativo, A Culpa é muito bonita. inócuo; sua função principal é apontar quem mudou linhas num ficheiro, e porquê. Pode ser uma ferramenta útil para identificar mudanças no seu código.

Basicamente git-blame é usado para mostrar que versão e autor modificou pela última vez cada linha de um arquivo. É como verificar a história do desenvolvimento de um ficheiro.

 49
Author: Himanshu Mishra, 2015-07-03 09:15:18

git blame é usado para saber quem / qual o commit é responsável pelas últimas mudanças feitas em um arquivo, autor/commit de cada linha também pode ser visto.

git blame nome do ficheiro (commits responsible for changes for all lines in code)

git blame filename -L 0,10 (commits responsible for changes from line " 0 "to line "10")

Há muitas outras opções para culpar, geralmente estas podem ajudar.
 8
Author: Bharath T S, 2018-03-07 07:04:28