Nyx*_*nyx 7 git gnupg visual-studio-code git-sign vscode-remote
我目前正在远程服务器上开发代码,方法是使用 Visual Studio Code 的远程 SSH 功能使用在本地计算机上运行的 VSCode 远程编辑代码。本地机器在 Mac OS X Catalina 10.15.5 上,而远程服务器在 WSL2 中运行 Ubuntu 20.02。
当我尝试在 VSCode 中创建常规提交时,它按预期工作。但是,当我尝试自动签名提交时,单击 VSCode 中的“提交”按钮后出现以下错误:
Git:gpg 未能对数据进行签名
为了远程创建签名提交,我必须在 VSCode 终端中运行以下命令:
git commit -S -m "my commit msg"
Run Code Online (Sandbox Code Playgroud)
在终端中调出全屏用户界面
??????????????????????????????????????????????????????????????????
? Please enter the passphrase to unlock the OpenPGP secret key: ?
? "Nyxynyx <my-email@gmail.com>" ?
? 4096-bit RSA key, ID B22A24D512345678, ?
? created 2001-01-08. ?
? ?
? ?
? Passphrase: ****************__________________________________ ?
? ?
? <OK> <Cancel> ?
??????????????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
输入正确的密码允许对提交进行签名。
问题:有没有办法只使用 VSCode UI 而不使用终端来创建签名提交?
经过一番挖掘,我找到了两个解决方案:
在这里您可以访问您的 C: 驱动器,您可以编辑您的 ~/.gitconfig 并将 gpg.program 设置为您在 Windows 上使用的相同,如下所示:
[gpg]
program = /mnt/c/Program Files (x86)/GnuPG/bin/gpg.exe
Run Code Online (Sandbox Code Playgroud)
除了使用终端之外,我找到的唯一解决方案是安装名为“ vscode-gpg-indicator ”的扩展程序。按照说明操作,您将在状态栏中获得一个储物柜,您可以在其中在开始提交之前解锁 GPG 密钥。