在远程VSCode会话中签署Git提交

11
我目前正在使用Visual Studio Code的远程SSH功能在远程服务器上开发代码,通过VSCode编辑本地机器上运行的代码。我的本地机器是Mac OS X Catalina 10.15.5,而远程服务器在WSL2内运行Ubuntu 20.02。
当我尝试在VSCode中创建普通提交时,它按预期工作。但是,当我尝试自动签署提交时,在单击“提交”按钮后会出现以下错误:
Git:gpg未能签署数据
为了在远程创建已签名的提交,我必须在VSCode终端中运行以下命令:
git commit -S -m "my commit msg"

在终端中打开全屏界面

┌────────────────────────────────────────────────────────────────┐
│ 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>       │
└────────────────────────────────────────────────────────────────┘

输入正确的密码短语允许提交被签名。

问题:是否有一种方法可以仅使用VSCode UI创建已签名的提交,而无需使用终端?

1个回答

6

挖掘一段时间后,我找到了两个解决方案:

  1. 如果你正在Windows上使用VSCode,并且项目在WSL2上

在这里,你可以访问C:驱动器,可以编辑你的~/.gitconfig文件并将gpg.program设置为你在Windows上使用的相同程序,像这样:

[gpg]
    program = /mnt/c/Program Files (x86)/GnuPG/bin/gpg.exe
  1. 您正在使用VSCode处理一些远程工作区。

除了使用终端之外,我找到的唯一解决方案是安装名为“vscode-gpg-indicator”的扩展程序。 按照说明操作,您将在状态栏中获得一个锁,在提交之前可以解锁GPG密钥。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接