Como Verificar se um Commit Git Foi Feito por um Autor Específico

GitBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se um commit Git foi feito por um autor específico. Exploraremos dois métodos principais: filtrar o histórico de commits usando git log --author para visualizar commits de um indivíduo específico e usar git show com um hash de commit para verificar os detalhes do autor de um único commit.

Através de exercícios práticos, você praticará a aplicação desses comandos dentro de um repositório Git de exemplo. Demonstraremos como filtrar commits por nome do autor e, em seguida, usar git show para examinar as informações do autor de um commit específico, garantindo que você possa identificar efetivamente o contribuidor de qualquer alteração em seu histórico Git.

Executar git log --author para Filtrar

Nesta etapa, aprenderemos como filtrar o histórico de commits usando a flag --author com o comando git log. Isso é útil quando você deseja ver apenas os commits feitos por uma pessoa específica.

Primeiro, vamos garantir que estamos no diretório do nosso projeto. Abra seu terminal e digite:

cd ~/project/my-time-machine

Agora, vamos usar git log com a flag --author para ver os commits feitos por "Jane Doe". Lembre-se, configuramos o nome do autor na etapa de configuração.

git log --author="Jane Doe"

Você deve ver o commit que fizemos no laboratório anterior:

commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <jane.doe@example.com>
Date:   Mon Aug 7 10:00:00 2023 +0000

    Send a message to the future

Se você tivesse commits de outros autores, eles não apareceriam nesta saída. Isso demonstra como você pode facilmente filtrar o histórico de commits para se concentrar nas contribuições de um indivíduo específico.

Ser capaz de filtrar o log de commits por autor é uma ferramenta poderosa, especialmente ao trabalhar em equipe. Ele permite que você veja rapidamente quem fez alterações específicas e entenda as contribuições de cada membro da equipe.

Pressione q para sair da visualização do log.

Usar git show para Verificar o Autor

Nesta etapa, usaremos o comando git show para visualizar os detalhes de um commit específico, incluindo as informações do autor. Isso é útil quando você deseja examinar um único commit em detalhes.

Certifique-se de ainda estar no diretório ~/project/my-time-machine.

Primeiro, vamos obter o hash do commit (o identificador único) do nosso commit. Podemos usar git log --oneline para obter uma versão mais curta do log:

git log --oneline

Você deve ver uma saída semelhante a esta:

a1b2c3d (HEAD -> master) Send a message to the future

A primeira parte, a1b2c3d (seu hash será diferente), é o hash curto do commit. Copie este hash.

Agora, use o comando git show seguido pelo hash do commit que você copiou:

git show <paste_your_commit_hash_here>

Por exemplo, se seu hash fosse a1b2c3d, você digitaria:

git show a1b2c3d

A saída mostrará os detalhes desse commit específico, incluindo o autor:

commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <jane.doe@example.com>
Date:   Mon Aug 7 10:00:00 2023 +0000

    Send a message to the future

diff --git a/message.txt b/message.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/message.txt
@@ -0,0 +1 @@
+Hello, Future Me

Você pode ver claramente a linha Author: confirmando que "Jane Doe" fez este commit. O comando git show é uma maneira poderosa de inspecionar commits individuais, ver exatamente quais arquivos foram alterados e visualizar o conteúdo dessas alterações.

Pressione q para sair da visualização.

Testar com Múltiplos Autores

Nesta etapa, simularemos ter outro autor fazendo um commit para ver como git log --author funciona com múltiplos contribuidores.

Primeiro, vamos alterar a configuração do autor do Git para o próximo commit. Podemos fazer isso temporariamente para este repositório:

git config user.name "John Smith"
git config user.email "john.smith@example.com"

Agora, vamos criar um novo arquivo como "John Smith":

echo "Hello from John" > johns-file.txt

Adicione o novo arquivo à área de staging:

git add johns-file.txt

E faça o commit da alteração como "John Smith":

git commit -m "Add a file from John"

Você deve ver a saída indicando que um novo commit foi criado por "John Smith".

Agora, vamos usar git log para ver o histórico completo:

git log

Você verá dois commits, um por "Jane Doe" e outro por "John Smith".

Agora, vamos filtrar o log para mostrar apenas os commits de "Jane Doe":

git log --author="Jane Doe"

Isso mostrará apenas o primeiro commit.

Finalmente, vamos filtrar o log para mostrar apenas os commits de "John Smith":

git log --author="John Smith"

Isso mostrará apenas o segundo commit.

Isso demonstra como git log --author é eficaz na filtragem de commits com base no autor, o que é essencial para rastrear contribuições em projetos colaborativos.

Pressione q para sair das visualizações do log.

Resumo

Neste laboratório, aprendemos como verificar se um commit Git foi feito por um autor específico. Primeiro, usamos o comando git log --author para filtrar o histórico de commits e exibir apenas os commits feitos por um autor designado, demonstrando sua utilidade para focar em contribuições individuais dentro de um ambiente de equipe.

Posteriormente, exploramos o uso do comando git show com um hash de commit específico para visualizar informações detalhadas sobre esse commit, incluindo o nome e e-mail do autor, fornecendo um método para verificar o autor de uma alteração específica. Finalmente, testamos esses métodos com múltiplos autores para confirmar sua eficácia na distinção de contribuições de diferentes indivíduos.