Подписание коммитов Git в удаленном сеансе VSCode

В настоящее время я разрабатываю код на удаленном сервере с помощью функции удаленного SSH Visual Studio Code для удаленного редактирования кода с помощью VSCode, который работает на моем локальном компьютере. На локальном компьютере установлена ​​Mac OS X Catalina 10.15.5, а на удаленном сервере - Ubuntu 20.02 внутри WSL2.

Когда я пытаюсь создать обычную фиксацию в VSCode, он работает должным образом. Однако, когда я пытаюсь автоматически подписать фиксацию, после нажатия кнопки "фиксация" в VSCode появляется следующая ошибка:

Git: gpg не удалось подписать данные

Чтобы удаленно создать подписанный коммит, мне пришлось запустить в терминале VSCode следующее:

git commit -S -m "my commit msg"

который вызывает полноэкранный интерфейс в терминале

┌────────────────────────────────────────────────────────────────┐
│ Please enter the passphrase to unlock the OpenPGP secret key:  │
│ "Nyxynyx <my-email@gmail.com>"                                 │
│ 4096-bit RSA key, ID B22A24D512345678,                         │
│ created 2001-01-08.                                            │
│                                                                │
│                                                                │
│ Passphrase: ****************__________________________________ │
│                                                                │
│         <OK>                                    <Cancel>       │
└────────────────────────────────────────────────────────────────┘

Ввод правильной парольной фразы позволяет подписать фиксацию.

Вопрос: Есть ли способ создать подписанный коммит, используя только пользовательский интерфейс VSCode и без использования терминала?

1 ответ

Покопавшись, я нашел два решения:

  1. Если вы используете VSCode в Windows, а проект находится на WSL2

Здесь у вас есть доступ к вашему диску C:, и вы можете отредактировать файл ~ / .gitconfig и установить для gpg.program то же значение, которое вы используете в Windows, например:

      [gpg]
    program = /mnt/c/Program Files (x86)/GnuPG/bin/gpg.exe
  1. Вы работаете с VSCode в некоторой удаленной рабочей области.

Единственное решение, которое я нашел, помимо использования терминала, - это установка расширения под названием « vscode-gpg-indicator ». Следуйте инструкциям, и вы получите шкафчик в строке состояния, где вы сможете разблокировать ключ GPG перед началом фиксации.

Другие вопросы по тегам