O que faz o git blame?
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?
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
.
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:)
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.
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")