Как сделать коммиты зелененькими в Гитхабе

GPG — это софт для создания электронных цифровых подписей. С помощью ассиметричной пары ключей мы можем зашифровать любое сообщение. Публичными ключами можно обмениваться, а приватные надо держать под защитой. Стандартная схема.

И вот если поделится публичным ключом с Гитхабом и подписывать свои коммиты, то они в интерфейсе будут зелеными, будут Verified.

Как сгенерить пару GPG ключей

Оставлю основные команды. Это не инструкция, а шпаргалка. Действуй на свой страх и риск :)

Посмотреть на все локальные ключи

$ gpg --list-keys

Сгенерить ключ

$ gpg --full-generate-key

Редактировать ключ

$ gpg --edit-key your-email-goes-here@gmail.com

Режим редактирования

Это своя маленькая консоль со своими правилами.

Список частей ключа

gpg> list

Выбрать часть ключа

gpg> key 0

Изменить срок жизни части ключа

gpg> expire

Когда наигрались в этой консоли, надо все сохранить

gpg> save

Копируем ключ для Гитхаба

Наконец можно и сам ключ скопировать

$ gpg --export -a your-email-goes-here@gmail.com | pbcopy

Вы великолепны!

Автоматическая подпись

Короче, шоб не вспоминать как это и зачем это, можно настроить клиент Гита таким образом, чтобы он сам все подписывал

Редактируем файл ~/.gitconfig

[user]
  name = Arthur Bordenyuk
  email = [email protected]
  signingkey = [email protected]

[commit]
  gpgsign = true

[tag]
  gpgSign = true

Макос

Иногда в Макосе стандартная хренатень тупит и ее надо рестартить. Вот моя секретная команда, которая спасает

$ killall gpg-agent && gpg-agent --daemon --use-standard-socket --pinentry-program /usr/local/bin/pinentry

P.S. Свежие посты публикуются в телеграме. Если чувствуешь, что они полезны, то подпишись.

Об Артуре Борденюке

Привет!

Меня зовут Артур. Пишу про код, о проектном управлении и философии

Чибик Артура