Настройка механизма подписания коммитов с помощью gpg в github
Шаги для внедрения механизма подписания коммитов
-
Cкачиваем GPG-клиент для своего устройства
-
Запускаем его. При первом запуске предложит ввести свои данные для выпуска первого ключа
-
После выпуска ключа он отобразится вот так:
- Дополнительно можем ввести
gpg --list-secret-keys --keyid-format LONG
и увидеть что-то вроде:
/Users/omartulashvili/.gnupg/pubring.kbx
----------------------------------------
sec ********/******** 2025-02-27 [SC] [ годен до: 2029-02-27]
********
uid [ абсолютно ] Omar Tulashvili <omartulashvili.ge@gmail.com>
ssb ********/******** 2025-02-27 [E] [ годен до: 2029-02-27]
- В командах, указанных ниже, вместо
ABCDEF1234567890
необходимо ввести вот эту часть ключа, которая идет после слеша:
Далее зависит от опции, которую выберем:
Текущий локальный репозиторий
git config user.signingkey ABCDEF1234567890
git config commit.gpgSign true
Если мы не настроили подписание всех коммитов по дефолту (команда выше **** signingkey ***
), то необходимо ручками указать гиту, что мы хотим провалидировать коммит:
git commit -S -m "Your commit message"
В ином случае используем обычное сообщение коммита:
git commit -m "Your commit message"
После ввода коммита нас попросит ввести пароль, который мы вводили на первых этапах при создании ключа
После коммита может быть вот так:
No user is associated with the committer email.
Тут в общем зайди в настройки гихтаба и просто аппрувни свой email:
- клацнешь по unverified и там на почту - попросит подтвердить
Все локальные репозитории
Все абсолютно тоже самое за исключением того, что нам необходимо добавить флаг -global
:
git config --global ....