Подтвердить что ты не робот

Android Studio и Git - Как я могу подписаться на GPG?

Согласно эта ссылка, мне просто нужно включить переключатель -S, чтобы подписать мою фиксацию, используя мой ключ GPG, но я не знаю, Посмотрите, как я могу использовать это в Android Studio.

Как подписать мои коммиты в Android Studio?

EDIT: Я ценю, что решения OSX идут, но мне бы очень хотелось увидеть ответ, который работает с Windows. Я использую только Mac для документов и т.д.

4b9b3361

Ответ 1

После некоторого теста я следую этим шагам, и он работает Не забудьте перезапустить Android Studio, выполнив следующие действия:

Вы устали от записи пароля для каждой фиксации?

nano ~/.gnupg/gpg.conf

добавить следующие строки

use-agent
no-tty
default-key <your key id>
  • после выполнения всех настроек, и если вы используете MacOS. Вы должны:

ln -s/usr/local/Cellar/libgcrypt/1.7.0_1/usr/local/opt/libgcrypt

ln -s/usr/local/Cellar/libgpg-error/1.22/usr/local/opt/libgpg-error

ln -s/usr/local/Cellar/libassuan/2.4.2/usr/local/opt/libassuan

ln -s/usr/local/Cellar/pth/2.0.7/usr/local/opt/pth

  • выполнить

источник ~/.profile

  • сделать одну фиксацию с помощью опции -S

git commit -am "мое сообщение фиксации" -S

  • вы должны получить пароль promp. - введите свой пароль

Вот оно!!!

Ответ 2

Как я упоминал в разделе Знак git фиксируется с GPG", git 2.0:

Если вы хотите, чтобы GPG подписывал все ваши коммиты, вы должны постоянно добавлять параметр -S.
Параметр commit.gpgsign config позволяет автоматически подписывать все коммиты.

Это не работает в полной мере, и это а затем номер 127802 со следующими обходными способами:

Создал помощник script с этим контентом:

/usr/bin/gpg –batch –no-tty "[email protected]"

и установите gpg.program на script

Или:

Добавление "no-tty" в "~/.gnupg/gpg.conf" решило проблему для меня.

Вы все равно можете получить сообщение об ошибке:

Commit failed with error:
gpg: problem with the agent - disabling agent use
gpg: Sorry, no terminal at all requested - can't get input
error: gpg failed to sign the data
fatal: failed to write commit object

Снова: ошибка, за которой следует issue 110261:

разрешите это с этим в дополнение к предыдущему решению (OS X):

1) brew install gnupg gnupg2 pinentry-mac

2) nano ~/.gnupg/gpg-agent.conf →      pinentry-program /usr/local/bin/pinentry-mac

3) git config –global gpg.program gpg2

Ответ 3

Если у вас установлена ​​ git для Windows и выбранная опция MingGW во время установки, это то, что я использовал, чтобы заставить Android Studio работать с подписанием коммитов.

Программы, упомянутые/используемые со ссылками для тех, у кого их еще нет.

  • Android Studio 2.2.2
  • Gpg4win 2.3.3 (https://www.gpg4win.org/download.html)
    • Использование варианта "Gpg4win только с компонентом GnuPG"
  • Git для Windows 2.10.1

Для тех, кто хочет прочитать статью, я использовал для подписи gpg в моей среде Windows (нижняя половина страницы, начинающаяся с строк git config, больше нас беспокоит): https://jamesmckay.net/2016/02/signing-git-commits-with-gpg-on-windows/

Я кратко рассмотрю процесс выполнения части gpg через командную строку - предположим, что все три программы уже установлены здесь.

Установите git в Android Studio

Если вы не указали, где git находится в Android Studio, здесь, где вы делаете это в настройках:

ПРИМЕЧАНИЕ. Это можно сделать либо в File > Project Settings для одного проекта, либо File > Other Settings > Default Settings...

Управление версиями > git > Путь к git Исполняемый файл

Поскольку я использовал версию MinGW, она установила:  C:\Program Files\Git\mingw64\bin\git.exe

Экспорт существующих общедоступных и секретных ключей из версии MinGW (git bash)

ПРИМЕЧАНИЕ. Выполнение с помощью приглашенной программы MinGW

  • gpg --export > ~/gpg-public
  • gpg --export-secret-keys > ~/gpg-secret

ПРИМЕЧАНИЕ. Для тех, кто не знает, ~/ по умолчанию установлен в домашний каталог пользователя. (например, Windows 10: C:/Users/%USERNAME%)

Импортировать экспортированные ключи в Gpg4win

ПРИМЕЧАНИЕ. Выполните команду Windows Command Prompt.

  • gpg --import < "C:/Users/%USERNAME%/gpg-public"
  • gpg --import < "C:/Users/%USERNAME%/gpg-secret"

Замените место где бы ни находились ваши файлы gpg-public и gpg-secret.

Сделать git использовать gpg из Gpg4win

Как упоминалось в статье. Он переиздан здесь, если вы его не открыли.

ПРИМЕЧАНИЕ. Выполнение с помощью приглашенной программы MinGW

  • git config --global gpg.program "C:/Program Files (x86)/GNU/GnuPG/gpg2.exe"

Замените значение gpg.program (сохраняя gpg2.exe) выше, где бы вы ни установили установщик gpg4win, чтобы установить его.

(ДОПОЛНИТЕЛЬНО). Пока вы на нем, вы можете настроить git для автоматического подписания своих коммитов с помощью ключа по умолчанию (требуется git version >= 2.0)

  • git config --global user.name <name>
  • git config --global user.email <email>
  • git config --global user.signingkey <your-key-ID>
  • git config --global commit.gpgsign true

Замените значения в < > на свой собственный. Вы можете получить идентификатор ключа, запустив gpg --list-keys и взяв идентификатор из строки, начинающейся с pub, и после /.

Теперь вы сможете совершить использование Android Studio и увидеть приглашение для ввода пароля.