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.
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???
Suivez le lien: https://github.com/pstadler/keybase-gpg-github
après cela, éditez le gpg.conf
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!!!
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
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.
- Android Studio 2.2.2
- Gpg4win 2.3.3 (https://www.gpg4win.org/download.html)
- Utilisation de la variante "Gpg4win avec GnuPG composant seulement"
- Git pour Windows 2.10.1
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 ouFile > 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
gpg --export > ~/gpg-public
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.
gpg --import < "C:/Users/%USERNAME%/gpg-public"
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.