Neste artigo, discutiremos algumas opções avançadas para formatar e imprimir os logs de commit para buscar as informações de que você precisa no histórico do diário do projeto. Como já sabemos, mantém um diário das mudanças comprometidas com o histórico do projeto, vamos agora explorar mais maneiras de o comando 'git log' ser útil.
Em primeiro lugar, estou alternando / verificando o branch “feature1” para um histórico conveniente e mais curto.
Use os comandos -
$cd myProj
–Mudar para o projeto git
$git checkout feature1
- pule para o branch ‘feature1’
1. Confirmar formatação
1.1 Imprima o conteúdo de saída em um determinado formato
Sintaxe: git log --pretty [=]
Onde, pode ser um de uma linha, curto, médio, cheio, mais cheio, o email, crue formato:
Quando = parte é omitida, o padrão é médio.
1.1.1 –pretty = oneline
Impressão bonita do log de commit em uma 'linha única'
Comando: git log --pretty = oneline
Formata a saída em sequência:
1.1.2 - bonito = curto
Formato de saída de confirmação 'curto' no formato:
commit (refname)
Autor:
1.1.3 - bonito = médio
Comando: git log --pretty = medium
Imprimir a saída de commit no formato ‘meio’:
comprometer
Autor :
Encontro:
1.1.4 - bonito = cheio
Comando: git log --pretty = full
A saída está no formato:
commit (refname)
Autor:
Comprometa:
1.1.5 - bonito = mais cheio
Comando: git log --pretty = fuller
commit (refname)
Autor:
AuthorDate :
Comprometa:
CommitDate:
1.1.6 –pretty = email
Comando: git log --pretty = email
Imprimir saída de registro no formato de estilo de e-mail:
A partir de
A partir de:
Encontro:
Sujeito: [FRAGMENTO]
1.1.7 - bonito = cru
Comando: git log --pretty = raw
O formato de saída do log bruto mostra o commit inteiro exatamente como armazenado no objeto de commit.
comprometer
árvore
pai
autor
comprometer
1.1.8 –formato:: Formatação personalizada
O formato permite que você especifique quais informações do objeto de commit você deseja imprimir no log de saída de commit
Vamos considerar os vários marcadores de posição que essa opção fornece, exatamente como uma função ‘C printf’ com a ajuda de snippets de código:
Comando: git log --pretty = format: '% h% ad | % s% d [% an] '--data = curta
Formato de saída:
| [nome do autor]
% h = Ids hash-id / sha1commit abreviados
% H = ids sha-1 longos
%para = data de autoria
% s = confirmar linha do título do assunto
% d = nomes de ponteiro de referência (ramo, tag)
%a = nome do autor
-encontro = short: Imprime apenas a data e não a hora em um formato legível
Agora, que tal tornar essa saída mais amigável, usando cores.
Comando:
git log --pretty = format: '% C (amarelo)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--data = curta
Alguns outros marcadores de posição usados no snippet de código acima são:
% C (amarelo) : Vire a seguinte string para amarelo
% Creset : Redefina a seguinte string de volta para a cor padrão (branco)
% Cgreen : alterar a sequência seguinte para verde
%Eu acho: Mude a seguinte string para vermelho
% Cblue: Deixe o nome do autor na cor azul
Você não precisa se lembrar e escrever o comando inteiro todas as vezes, apenas use um nome curto como git alias como mostrado abaixo:
Comando:
git config --global alias.c-hist 'log --pretty = format:'% C (amarelo)% h% Creset% ad | % Cgreen% s% Creset% Cred% d% Creset% Cblue [% an] '--data = curto'
“C-hist” representa c padronizado- hist ory
Então, como você deve ter observado, estou definindo meu global configuração git arquivo com os valores.
analisar arquivo xml em java
Agora, para verificar o histórico do branch atual, tudo que você precisa fazer é executar o comando, assim:
Comando: vai c-hist
1.2 –abbrev-commit: abreviar git commit hash-id
Comando: git log --abbrev-commit
O nome completo do objeto de confirmação hexadecimal de 40 bytes é reduzido para 7 bytes padrão.
Vamos bater com o ‘--uma linha
'Opção para uma visualização conveniente, como:
Comando: git log --abbrev-commit --oneline
O que é mais interessante é que você também pode especificar o comprimento do byte de sha-1 ids usando a opção ‘–abbrev =’, conforme mostrado abaixo:
Comando: git log --abbrev-commit --abbrev = 5 --oneline
Claramente, os sha-1 ids destacados são reduzidos a um tamanho de 5 bytes.
1.3 –no-abbrev-commit
Mostra o nome completo do objeto de confirmação hexadecimal de 40 bytes.
Isso nega –Abbrev-commit e as opções que implicamcomo “–oneline”.
Comando: git log --pretty = oneline --no-abbrev-commit
1.4 - data relativa
Comando: git log --relative-date
Observe que este tempo destacado está sujeito a alterações em relação ao tempo em que você executa o comando em seu sistema.
1.5 - data =
Você também pode formatar a data dos logs de confirmação em qualquer uma das seguintes opções de formato:
1.5.1 - data = relativo
Comando :git log --date = relative
Isso é sinônimo do comando acima “git log --relative-date
”E imprime os mesmos commits.
1.5.2 - data = local
Comando : git log --date = local
1.5.3 - data = iso
Comando: git log --date = iso
1.5.4 - data = iso-estrito
Comando: git log --date = iso-strict
1.5.5 - data = rfc
Comando: git log --date = rfc
1.5.6 - data = curta
Comando: git log --date = short
1.5.7 –date = raw (mostra a data em segundos)
Comando: git log --date = raw
Imprime o tempo em segundos desde o unix epoc hora (01 de janeiro de 1970) seguido pelo fuso horário.
1.5.8 - data = humano
Comando: git log --date = humano
1.5.9 - data = unix
Mostra a data como unix epoc (UTC) hora.
Comando: git log --date = unix
1.6 - pais
Imprima também os pais de cada commit no formato:
Comando: git log --parents
Comando de saída Oneliner: git log --parents --oneline
Pontos a serem observados:
C366419 é um commit de mesclagem, portanto, tem 2 pais respectivamente: 30 de fevereiro e 4920adc
Da mesma forma
1d67b50 é um commit de mesclagem, que resultou da mesclagem f2ff2e4 e abb694b
078f9f5 é um commit de mesclagem criado por mesclagem 9a2412e e ab3a5e5
Enquanto que, 86792c6 é o commit inicial, portanto, nenhum pai.
1,7 - crianças
Imprima também os filhos no formulário
Comando: git log --children --oneline
Nota :
006b9ce é o commit mais recente, portanto, ainda não tem objeto de commit filho. A próxima mudança que você fizer e enviar neste branch será o objeto filho de commit deste último sha-1 id.
1.8 - gráfico
Desenhe uma representação gráfica baseada em texto do histórico de commits antes dos sha-1 ids.
Comando: git log --graph
Melhor saída oneliner: git log --graph --oneline
Isso permite que você entenda quando, como e por que outras ramificações foram mescladas na ramificação atualmente em check-out.
1,9 - quebra linear
Comando: git log --show-linear-break
Este é um comando útil para indicar uma barreira entre 2 commits consecutivos que não pertencem a um branch linear, em outras palavras, os commits que vieram de branches diferentes.
Compare a saída acima com a saída do comando ‘git log –graph’ que mostra claramente como os commits de “quebra linear” foram mesclados.
Bônus: Resuma a saída do log do git: ‘git shortlog’
O 'git shortlog
O comando 'categoriza os logs de commit por autor e imprime um resumo geral, indicando os commits feitos por cada autor.
Comando: git log shortlog
Comando : git log shortlog -s
-s significa –summary, suprime a descrição do commit e apenas exibe a contagem de commits de cada autor, assim:
Além disso, você também pode formatar a saída usando os mesmos marcadores, conforme discutido em ‘--pretty = format
‘Opção
Experimente o comando: git shortlog --format = '% h | % s '
Portanto, você deve concordar que essa saída faz mais sentido, pois mostra o id e o de cada autor junto com a contagem total de commits.
Nota : É interessante notar que você pode encontrar facilmente o branch que fez um commit específico. Vale a pena aprofundar essa discussão nos próximos artigos.
Então, com isso, chegamos ao fim desteHistórico de formato de registro Gitblog, espero que você tenha achado informativo.
Neste post, aprendemos algumas técnicas de formatação que imprimem as informações do projeto de forma mais customizada e amigável. Agora você deve saber como usar efetivamente os parâmetros do comando 'git log' para extrair qualquer informação necessária sobre o código-fonte de seu histórico confirmado. Com isso, chegamos ao final deste artigo, espero que você tenha achado informativo.
Se você estiver curioso para saber mais, verifique este pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso Edureka DevOps Certification Training ajuda os alunos a entender o que é DevOps e ganhar experiência em vários processos e ferramentas DevOps, como Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack e GIT para automatizar várias etapas no SDLC.
Tem alguma questão para nós? Mencione isso na seção de comentários deste artigo sobre “Histórico do formato de log do Git” e entraremos em contato com você.