Nov. 2, 2017, 12:41 p.m.
Posted by soar

Использование Git с GPG в Windows Subsystem for Linux

Первым делом необходимо установить недостающие пакеты. Дело в том, что по-умолчанию стоит лишь gpg первой версии. Исправим это:

soar@soars-work-pc:~$ sudo apt install gnupg-agent gnupg2

soar@soars-work-pc:~$ gpg2 --version
gpg (GnuPG) 2.1.11

soar@soars-work-pc:~$ gpg-agent --version
gpg-agent (GnuPG) 2.1.11

Теперь, как и обычно, необходимо импортировать ключи:

soar@soars-work-pc:~$ gpg2 --import your-exported-key.private.key
soar@soars-work-pc:~$ gpg2 --import your-exported-key.public.key

soar@soars-work-pc:~$ gpg2 --list-keys
/home/soar/.gnupg/pubring.gpg
-----------------------------
pub   rsa4096/D0161272 2015-01-21 [SCEA]
uid         [ unknown] Aleksey @soar Smyrnov (http://soar.name) <[email protected]>
uid         [ unknown] Aleksey Smyrnov <[email protected]>
uid         [ unknown] [jpeg image of size 13863]

Следующим шагом добавляем автоматический запуск агента при запуске консоли - это пожалуй самый простой и быстрый путь. Он сам проверит, что не запущен еще один процесс, поэтому достаточно добавить в .bashrc:

gpg-agent --daemon

Настройка GIT аналогична настройке в обычном Linux:

# Указываем, какой ключ использовать по-умолчанию
git config --global user.signingkey D0161272

# Подписываем все коммиты
git config --global commit.gpgsign true

# Указываем использовать gpg2 для совместимости с gpg-agent
git config --global gpg.program gpg2

# Если вы планируете работать в UI Windows, а делать коммиты из bash-консоли, вам определенно понадобится это
git config core.fileMode false

На этом настройка закончена. Если вы всё сделали правильно, то при первом же коммите увидите запрос на ввод пароля от gpg-agent (не путать с обычным запросом пароля), а последующие коммиты будут подписаны автоматически.

Так выглядит окно ввода пароля от gpg-agent.


Теперь все коммиты подписаны и красиво выглядят на GitHub (ведь ради этого всё делалось?)


Comments