Android Studio et Git-Comment puis-je signer mes commits?

Selon ce lien, j'ai tout simplement besoin d'inclure l' -S commutateur pour signer mon commit en utilisant ma clé GPG, mais je ne vois pas comment je peux l'utiliser dans Android Studio.

Comment puis-je signer mes commits dans Android Studio?

EDIT: j'apprécie que les solutions OSX arrivent, mais j'aimerais vraiment voir une réponse qui fonctionne avec Windows. Je n'utilise mon Mac que pour les documents et tout.

21
demandé sur pandalion98 2016-06-11 10:07:56

3 réponses

après avoir fait quelques tests je suis ces étapes et cela fonctionne S'il vous plaît rappelez-vous de redémarrer le studio Android après suivre ces étapes:

êtes-vous fatigué d'écrire le mot de passe pour chaque propagation???

nano ~/.gnupg / gpg.conf

ajouter ce qui suit lignes

use-agent
no-tty
default-key <your key id>
  • après avoir fait toute la configuration et si vous utilisez MacOS. Vous devez:

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

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

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

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

  • exécuter

source~/.profil

  • faire un commit à l'aide de l'option-S

git commit -am "mon message de commit" -S

  • vous devriez obtenir un mot de passe promp. -- mettre votre mot de passe

c'est elle!!!

5
répondu Darien Alvarez 2016-08-18 13:11:55

Comme je l'ai mentionné dans "Signe git s'engage avec GPG", avec Git 2.0:

si vous voulez que GPG signe toutes vos propagations, vous devez ajouter l'option-S tout le temps.

commit.gpgsign l'option config permet de signer toutes les propagations automatiquement.

Ce n'est pas de bien travailler et s' suivi du numéro 127802, avec les solutions de contournement suivantes:

Créé un script d'aide à que de contenu:

/usr/bin/gpg –batch –no-tty "$@"

et définissez gpg.program à ce script

Ou:

Ajout de "no-tty""~/.gnupg/gpg.conf" a résolu le problème pour moi.

vous pourriez encore recevoir le message d'erreur:

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

encore une fois: bug en cours, suivi de problème 110261:

résolvez-le avec ceci en plus de la solution précédente (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

4
répondu VonC 2017-05-23 12:17:26

si vous avez git pour Windows installé, et que vous avez sélectionné L'option MingGW pendant la configuration, c'est ce que J'ai utilisé pour faire fonctionner Android Studio avec signing commits.

Programmes mentionnés, utilisés avec des liens pour ceux qui n'en ont pas encore.

Pour ceux qui veulent lire l'article que j'ai utilisé pour obtenir gpg signature de travailler dans mon environnement Windows (La moitié inférieure de la page de démarrage avec le git config les lignes sont ce qui nous intéresse le plus): https://jamesmckay.net/2016/02/signing-git-commits-with-gpg-on-windows/

je vais brièvement passer en revue le processus pour faire la partie gpg via la ligne de commande - présumant que les trois programmes sont déjà installés à partir de maintenant.

Vérifiez la configuration de Git dans Android Studio

si vous n'avez pas spécifié où git se trouve dans Android Studio, voici où vous le faites dans les paramètres:

REMARQUE: Cela peut être fait soit en File > Project Settings pour un projet ou File > Other Settings > Default Settings...

Contrôle de Version > Git > le Chemin Git Exécutable

depuis que J'utilise le MinGW version, c'est réglé sur: C:\Program Files\Git\mingw64\bin\git.exe

exportez les clés publiques et secrètes existantes de la version MinGW (git bash)

REMARQUE: Exécuter en utilisant MinGW invite programme

  1. gpg --export > ~/gpg-public
  2. gpg --export-secret-keys > ~/gpg-secret

NOTE: Pour ceux qui ne connaissent pas, ~/ est par défaut défini dans le répertoire de votre utilisateur. (par exemple Windows 10:C:/Users/%USERNAME%)

importer les clés exportées dans Gpg4win

NOTE: Exécutez en utilisant Windows Command Prompt.

  1. gpg --import < "C:/Users/%USERNAME%/gpg-public"
  2. gpg --import < "C:/Users/%USERNAME%/gpg-secret"

Remplacer l'endroit où votre gpg-public et gpg-secret les fichiers le sont.

Faire git utiliser gpg de Gpg4win

Comme mentionné dans l'article. C'est repris ici si vous ne l'avez pas ouvert.

REMARQUE: Exécuter en utilisant MinGW invite programme

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

Remplacer gpg.program valeur (en gardant l' gpg2.exe) ci-dessus avec l'endroit où vous avez spécifié l'installateur gpg4win pour l'installer.

(OPTIONAL) pendant que vous y êtes, vous pouvez configurer votre git pour auto signer vos propagations avec une clé par défaut (Git version >= 2.0 required)

  • 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

Remplacer les valeurs dans < > avec les vôtres. Vous pouvez obtenir la clé ID en exécutant gpg --list-keys et en prenant l'ID de la ligne commençant par pub et après /.

Maintenant, vous devriez être capable de vous engager en utilisant Android Studio et voir une invite venir pour l'entrée de mot de passe.

1
répondu Ken T 2016-10-27 07:25:38