usando git send-mail con google 2-factor authentication

Me gustaría usar git send-mail para enviar parches en sentido ascendente, pero mi count de gmail usa authentication de dos factores. Google proporciona passwords específicas de la aplicación para cosas como esta, pero mi pregunta es ¿ dónde está un lugar seguro para almacenar esta contraseña para usarla con git send-mail?

Resulta que git tiene una tienda de cnetworkingenciales . Linux, OS X y Windows tienen cnetworkingenciales que pueden recostackr cnetworkingenciales del set de keys del sistema operativo. Esta respuesta tiene algunos ejemplos.

EDITAR

Si prefiere save el parche en su carpeta de borradores para que pueda revisarlo antes de enviarlo (o solo para que Gmail rastree mejor el hilo), puede hacer lo siguiente:

 git config --global imap.host imaps://imap.gmail.com git config --global imap.user [email protected] git config --global imap.port 993 git config --global imap.sslverify false git config --global imap.folder [Gmail]/Drafts git format-patch --stdout | git imap-send 

Tenga en count que al momento de escribir, git no admite el uso de git-cnetworkingential para git-imap-send . He escrito un parche para arreglar esto. Está esperando fusionarse en la fase inicial, pero si estás impaciente está disponible aquí .

Puede usar la configuration de Git normal para almacenar la contraseña, así:

 git config --global sendemail.smtpencryption tls git config --global sendemail.smtpserver mail.example.com git config --global sendemail.smtpuser [email protected] git config --global sendemail.smtpserverport 587 git config --global sendemail.smtppass smbumqjiurmqrywm 

Eso, por supuesto, almacenará la contraseña en text sin formatting. Debe asegurarse de que su file ~ / .gitconfig no sea legible por otros.

También puede almacenar la contraseña en un file encryption y usar eso. Todavía tendría que recordar e ingresar la contraseña para el encryption, pero al less podría elegir esa contraseña. Algo como gpg2 debería hacer el truco.

Por supuesto, al final, el único lugar realmente seguro para almacenar la contraseña es entre tus oídos.

Fuente

Git 2.0.x / 2.1 (Q3 2014) admitirá la git cnetworkingential de git imap-send para git imap-send .
Ver commit 791643a de Dan Albert ( DanAlbert ) , ahora fusionado a la twig git/git master :

imap-send: use git-cnetworkingential

git-imap-send estaba pidiendo directamente una contraseña en lugar de usar git-cnetworkingential . git-send-email , por otro lado, es compatible con git-cnetworkingential .

Esta es una mejora necesaria para los usuarios que usan authentication de dos factores, ya que no se debe esperar que recuerden todas sus passwords específicas de la aplicación.


Actualización 2017, para Git 2.14.x / 2.15 (cuarto trimestre de 2017), git imap-send seguirá evolucionando.

Ver commit dbba42b , commit 19079b3 , commit 690307f , commit 200bc38 (14 Sep 2017) por Niqueues Morey-Chaisemartin ( nmorey ) .
(Fusionada por Junio ​​C Hamano – gitster – in commit b67f154 , 25 de septiembre de 2017)

" git imap-send " tiene nuestra propia implementación del protocolo y también puede usar libCurl más reciente con el soporte del protocolo imap .
Actualice este último para que pueda usar el subsistema de cnetworkingenciales y luego conviértalo en la opción pnetworkingeterminada para usar, de modo que podamos eventualmente desaprobar y eliminar el anterior.

    Intereting Posts