Perdon por la nigromancia, llevo ya unos cuantos meses con Git y la verdad es que me encanta (Lo uso con el Bash y me esta haciendo plantearme el cambiar a *nix, le estoy cogiendo el gusto a escribir comandos en un terminal)
Mi pregunta es la siguiente, alguien ha conseguido firmar commits con una clave GPG en windows?
Si no sabeis que es, es basicamente usar una clave PGP para "certificar" los commits, es decir de alguna formar confirmar que eres tú el que ha pusheado esa modificacion.
Es algo que en Linux es trivial (GPG viene con la mayoría de sistemas operativos tipo Debian) y una vez tienes tu clave en el keyring es:
$ git config --global user.signingkey
$ git commit -S -m "Test commit of foo"
You need a passphrase to unlock the secret key for user:
"Mortadelegle <[email protected]>"
4096-bit RSA key, ID 08C196A5, created 2014-12-24
Y acto seguido introducir la passphrase.
Sin embargo en Windows llevo varios días intentadolo y estoy a punto de darme por vencido, para empezar git asume que tu keyring siempre va a estar en C:\Users\Tu_Usuario.gnupg, cosa que en windows no es, hay varias formas de solucionar esto, yo opte por cambiar el homedir de el programa de GPG de windows, cosa que es simplemente meter en el cmd
gpg --homedir c:\\your\\path\\
Pero aquí descrubes que hay un bug que lleva más de dos años en el tracker por el cual esto no funciona y que tienes que meter esto en un archivo .reg y despues hacer doble click para editar el registro:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\GNU\GnuPG]
"HomeDir"="c:\\Users\\Tu_Usuario\\.gnupg"
Pero la diversión no acaba aquí amigos!, no no no, Bill sabe que esto os encanta por lo que si habeís llegado hasta aqui sin que os funda el cerebro descubrireis que si intentais firmas cualquier commit despues de configurar git no importa como lo hagais esto os sale:
gpg: skipped "Mortadelegle <[email protected]>": bad passphrase
gpg: signing failed: bad passphrase
error: gpg failed to sign the data
fatal: failed to write commit object
Así que si alguno tiene alguna idea se lo agradecería, seguire intentandolo hasta que se me evapore la poca materia gris que me queda (Que no es mucha)
Y #114 seguramente esta respuesta te llega muy tarde pero, te recomiendo seguir un poco la progresion de https://www.atlassian.com/git/tutorials/comparing-workflows, yo hasta ahora en el equipo que tenía estaba usando el centralized workflow pero estoy intentando hacer que cambien a un feature branch flow, a mi parecer es exactamente igual que el gitflow, solo que las ramas no son tan esctrictas (Por ejemplo tener un master y una release branch me parece redundante)