jus*_*.me 17 git bash gnupg pgp character-encoding
我安装了Git for Windows,包括Windows 10和Gpg4win上的Git Bash.默认情况下,我必须将我通过Kleopatra创建的所有密钥重新导入到Git Bash中内置的GPG版本中,并且它不允许我设置代理.我需要做的是自动唱歌,这样我不需要每次都输入密码,而只是在给定的时间段内第一次输入密码.怎么可能?
我尝试按照本教程,但gpg2在Git Bash中执行时不使用正确的字符集,因此它无法识别包含非ASCII字符的键.
有什么方法可以解决这个问题吗?在Windows上使用GGP与Git签名的最佳方法是什么?
Von*_*onC 19
? git --version
git version 2.19.1.windows.1
? gpg --version
gpg (GnuPG) 2.2.9-unknown
libgcrypt 1.8.3
Copyright (C) 2018 Free Software Foundation, Inc.
Run Code Online (Sandbox Code Playgroud)
没有该更新的痕迹 git-for-windows/git/releases
原始答案(2017):默认情况下,Git for Windows包含gpg1,而不是gpg2
vonc@bvonc MINGW64 ~/.ssh
$ gpg --version
gpg (GnuPG) 1.4.21
Run Code Online (Sandbox Code Playgroud)
确实建议使用不同的gpg:
git config --global gpg.program "c:/Program Files (x86)/GnuPG/bin/gpg.exe"
Run Code Online (Sandbox Code Playgroud)
再次使用最新的Git for Windows,并在区域设置中设置UTF-8.
尝试使用Git简化路径来排除来自其他程序的任何干扰.
由于(至少)git 2.19.1,git包括gpg2!
这意味着您不再需要仅为git签名安装gpg4win。您问如何设置提交签名,以便您只需要在特定的超时时间后输入密码gpg-agent即可:可以处理该问题,并且我测试了它是否适用于git的gpg(但不适用于gnupg的gpg)。尽管它并不总是对我有用,但应该可以正常使用。
以下是我在此处写下的完整说明的简短摘要,假设您已进行签名设置:
C:\Users\username\.gnupg\gpg-agent.conf(如果不存在则创建文件)中,添加default-cache-ttl 34560000和max-cache-ttl 34560000。这些时间以秒为单位,选择任何您想要的。gpgconf --kill gpg-agent。