Git
Português (Brasil) ▾ Topics ▾ Latest version ▾ git-annotate last updated in 2.44.0

NOME

git-annotate - Anote linhas do arquivo com as informações do commit

RESUMO

git annotate [<opções>] <arquivo> [<revisão>]

DESCRIÇÃO

Anota cada linha no arquivo informado com as informações do commit que introduziu a linha. Anota opcionalmente em uma determinada revisão.

A única diferença entre esse comando e o git-blame[1] é que eles utilizam formatos de saída ligeiramente diferentes, este comando existe apenas para a compatibilidade com as versões anteriores, visando a compatibilidade dos scripts já existentes e para fornecer um nome do comando mais familiar para as pessoas vindas de outros sistemas SCM.

OPÇÕES

-b

Exiba o SHA-1 em branco para os commits limite. Também pode ser controlado através da opção da configuração blame.blankboundary.

--root

Não trate os commits raiz como limitadores. Também pode ser controlado através da opção da configuração blame.showRoot.

--show-stats

Inclui estatísticas adicionais no fim da saída do comando blame.

-L <inicio>,<fim>
-L :<funcname>

Anote apenas o intervalo das linhas informadas. Pode ser utilizado mais de uma vez. As variações sobrepostas são permitidas.

<inicio> e <fim> são opcionais. “-L <inicio>” ou “-L <inicio>,” abrange do <inicio> para o final do arquivo. “-L ,<fim>” abrange do começo ao <fim>.

<inicio> e <fim> podem assumir uma destas formas:

  • número

    Caso <inicio> ou <fim> seja um número, ele especifica um número de linha absoluto (as linhas contam a partir do 1).

  • /regex/

    Este formulário usará a primeira linha correspondente ao regex POSIX informado. Caso <inicio> seja um regex, ele procurará no final do L do intervalo, se houver, caso contrário, desde o início do arquivo. Caso <inicio> seja “^/regex/”, ele pesquisará desde o início do arquivo. Caso <fim> seja um regex, ele pesquisará a partir da linha fornecida através do <inicio>.

  • +offset ou -offset

    Válido apenas para <fim> que definirá uma quantidade de linhas antes ou depois da linha utilizada por <inicio>.

Caso “:<funcname>” seja informado no lugar de <inicio> e <fim>, é uma expressão regular que indica o intervalo da primeira "funcname" que coincide com <funcname> até a próxima linha "funcname". “:<funcname>” pesquisa no final do intervalo L anterior, se houver, caso contrário, a pesquisa ocorrerá desde o início do arquivo. “^:<funcname>” pesquisa desde o início do arquivo.

-l

Exibe o rev longo (Predefinição: desligado).

-t

Exibe o registro de data e hora em formato bruto (Predefinição: desligado).

-S <revs-file>

Utilize as revisões do arquivo-revs no lugar de chamar git-rev-list[1].

--reverse <rev>..<rev>

Avance a história adiante em vez de retroceder. Em vez de exibir a revisão onde a linha apareceu, exibe a última revisão na qual a linha já existiu. É necessário um intervalo de revisões como START..END (INICIO..FIM) onde o caminho reclamado exista em START. Por mera conveniência, o comando git blame --reverse START é atalho para git blame --reverse START..HEAD.

-p
--porcelain

Exiba em um formato designado para o consumo de uma máquina.

--line-porcelain

Exiba o formato porcelana, porém envie informações do commit na saída para cada linha e não apenas na primeira vez que um commit tiver uma referência. Implica no uso da opção --porcelain.

--incremental

Exiba o resultado incrementadamente em um formado designado para o consumo de uma máquina.

--encoding=<codificação>

Defina a codificação a ser utilizada para gerar os nomes dos autores e do resumo dos commits. Definindo como none torna a saída "blame" em dados sem conversão. Para mais informações, consulte a discussão sobre codificação na página do manual git-log[1].

--contents <arquivo>

Quando <rev> não for definido, o comando anotará as alterações iniciando em sentido contrário na cópia da árvore de trabalho. Essa flag faz com que o comando pareça estar trabalhando na cópia da árvore de trabalho que tenha os conteúdos informados do arquivo (especifique - para que o comando leia a partir da entrada padrão).

--date <formato>

Especifica o formato utilizado para gerar as datas. Caso --date não seja utilizado, o valor da variável de configuração blame.date será utilizado. Caso a variável de configuração blame.date também não esteja definida, o formato ISO será utilizado. Para ver quais são os valores compatíveis, consulte a discussão da opção --date em git-log[1].

--[no-]progress

É predefinido que a condição do progresso seja relatado no fluxo de erros padrão quando estiver conectado em um terminal. Essa flag permite que os relatórios de progresso sejam feitos ainda que não estejam conectados em um terminal. Não é possível usar --progress junto com --porcelain ou --incremental.

-M[<num>]

Detecte as linhas movidas ou copiadas em um arquivo. Quando um commit move ou copia um bloco de linhas (o arquivo original possui A e, em seguida, B, e o commit muda para B e, em seguida, A por exemplo), o algoritmo tradicional de blame percebe apenas metade do movimento e normalmente responsabiliza as linhas que forem movidos para cima (ou seja, B) para a origem e atribuem a responsabilidade às linhas que foram movidas para baixo (ou seja, A) para o herdeiro do commit. Com esta opção, os dois grupos das linhas são atribuídos à origem durante a execução dos passes extras de inspeção.

A opção <num> é opcional porém é o limite inferior da quantidade de caracteres alfanuméricos que o Git deve detectar como mover/copiar dentro de um arquivo para associar essas linhas ao commit de origem. 20 é o valor predefinido.

-C[<num>]

Além de -M, detecte as linhas movidas ou copiadas de outros arquivos que foram alterados no mesmo commit. É útil ao reorganizar o seu programa e move o código através dos arquivos. Quando essa opção é utilizada duas vezes, o comando procura adicionalmente cópias dos outros arquivos no commit que cria o arquivo. Quando essa opção é utilizada três vezes, o comando procura adicionalmente por cópias dos outros arquivos em qualquer outro commit.

A opção <num> é opcional porém é o limite inferior da quantidade de caracteres alfanuméricos que o Git deve detectar como mover/copiar entre os arquivos para associar estas linhas ao commit de origem. 40 é o valor predefinido. Caso haja mais de uma opção -C, o argumento <num> do último -C entrará em vigor.

--ignore-rev <rev>

Ignore as alterações feitas pela revisão assumindo a responsabilidade como se a mudança nunca tivesse acontecido. As linhas que foram alteradas ou adicionadas através de um commit ignorado serão responsabilizados pelo commit anterior que alterou esta linha ou as próximas. Esta opção pode ser utilizada várias vezes para ignorar mais de uma revisão. Caso a opção da configuração blame.markIgnoredLines estiver definida, as linhas que forem alteradas por um commit ignorado e atribuídas a outro commit, serão marcados com um`?. Caso a opção da configuração `blame.markUnblamableLines estiver definida, as linhas tocadas por um commit ignorado onde não foi possível atribuir uma outra revisão, serão marcadas com um *.

--ignore-revs-file <arquivo>

Ignore as revisões listadas no arquivo que deve estar no mesmo formato que um fsck.skipList. Esta opção pode ser repetida, estes arquivos serão processados após qualquer outro arquivo definido com a opção da configuração blame.ignoreRevsFile. Um nome vazio de arquivo, "" limpará a lista de rotações dos arquivos processados anteriormente.

-h

Exiba a mensagem de ajuda.

VEJA TAMBÉM

GIT

Parte do conjunto git[1]

scroll-to-top