Тестирование не подписанных коммитов
На этом этапе мы создадим еще один коммит без подписи и посмотрим, как Git обрабатывает его при использовании команд проверки, которые мы узнали на предыдущих этапах. Это укрепит ваше понимание того, как Git идентифицирует не подписанные коммиты.
Сначала убедитесь, что вы находитесь в каталоге проекта:
cd ~/project/my-time-machine
Давайте добавим еще одну строку в файл message.txt
:
echo "This is a second message." >> message.txt
Оператор >>
добавляет текст в существующий файл. Теперь проверим статус:
git status
Вы должны увидеть, что файл message.txt
был изменен:
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")
Теперь подготовим изменения к коммиту и создадим новый коммит. Мы не будем подписывать этот коммит.
git add message.txt
git commit -m "Add a second message"
Вы увидите вывод, подтверждающий новый коммит:
[master a1b2c3d] Add a second message
1 file changed, 1 insertion(+)
Теперь, когда у нас есть второй, не подписанный коммит, давайте снова используем команду git log --show-signature
, чтобы посмотреть историю:
git log --show-signature
Вы увидите оба коммита в журнале. Ни один из них не покажет информацию о подписи, так как мы еще не настроили подписывание.
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <[email protected]>
Date: Mon Aug 7 10:00:00 2023 +0000
Add a second message
commit u1v2w3x4y5z6a7b8c9d0e1f2g3h4i5j6k7l8m9n0
Author: Jane Doe <[email protected]>
Date: Mon Aug 7 10:00:00 2023 +0000
Send a message to the future
Наконец, давайте используем команду git verify-commit
для нового коммита. Получите сокращенный хэш последнего коммита с помощью команды git log --oneline
и замените YOUR_NEW_COMMIT_HASH
ниже:
git log --oneline
a1b2c3d (HEAD -> master) Add a second message
u1v2w3x Send a message to the future
Теперь проверим новый коммит:
git verify-commit YOUR_NEW_COMMIT_HASH
Снова вывод покажет детали коммита, но не статус проверки подписи, подтверждая, что этот коммит также не подписан.
Этот этап показывает, что по умолчанию коммиты в Git не подписываются. Чтобы добавить уровень безопасности и доверия, вам нужно явно настроить Git для подписывания ваших коммитов, что является более сложной темой, которую мы не будем рассматривать в этом вводном курсе. Однако понимание того, как идентифицировать не подписанные коммиты с помощью команд git log --show-signature
и git verify-commit
, является первым шагом в работе с подписанными коммитами.