Testar Commits Não Assinados
Nesta etapa, criaremos outro commit sem uma assinatura e observaremos como o Git o trata quando usamos os comandos de verificação que aprendemos nas etapas anteriores. Isso reforçará sua compreensão de como o Git identifica commits não assinados.
Primeiro, certifique-se de estar no diretório do seu projeto:
cd ~/project/my-time-machine
Vamos adicionar outra linha ao nosso arquivo message.txt:
echo "This is a second message." >> message.txt
O operador >> anexa o texto ao arquivo existente. Agora, vamos verificar o status:
git status
Você deve ver que message.txt foi modificado:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: message.txt
no changes added to commit (use "git add" and/or "git commit -a")
Agora, vamos preparar as alterações e criar um novo commit. Não assinaremos este commit.
git add message.txt
git commit -m "Add a second message"
Você verá a saída confirmando o novo commit:
[master a1b2c3d] Add a second message
1 file changed, 1 insertion(+)
Agora que temos um segundo commit não assinado, vamos usar git log --show-signature novamente para ver o histórico:
git log --show-signature
Você verá ambos os commits no log. Nenhum deles mostrará informações de assinatura porque ainda não configuramos a assinatura.
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <jane.doe@example.com>
Date: Mon Aug 7 10:00:00 2023 +0000
Add a second message
commit u1v2w3x4y5z6a7b8c9d0e1f2g3h4i5j6k7l8m9n0
Author: Jane Doe <jane.doe@example.com>
Date: Mon Aug 7 10:00:00 2023 +0000
Send a message to the future
Finalmente, vamos usar git verify-commit no novo commit. Obtenha o hash curto do commit mais recente usando git log --oneline e substitua YOUR_NEW_COMMIT_HASH abaixo:
git log --oneline
a1b2c3d (HEAD -> master) Add a second message
u1v2w3x Send a message to the future
Agora, verifique o novo commit:
git verify-commit YOUR_NEW_COMMIT_HASH
Novamente, a saída mostrará os detalhes do commit, mas nenhum status de verificação de assinatura, confirmando que este commit também não está assinado.
Esta etapa demonstra que, por padrão, os commits do Git não são assinados. Para adicionar uma camada de segurança e confiança, você precisa configurar explicitamente o Git para assinar seus commits, o que é um tópico mais avançado que não abordaremos neste laboratório introdutório. No entanto, entender como identificar commits não assinados usando git log --show-signature e git verify-commit é o primeiro passo para trabalhar com commits assinados.