有没有办法用gpg签署git提交?标签(使用-s
而不是代码-a
)很容易,似乎提交的功能类似.
找不到任何有关在 Azure DevOps 中签署标签/验证签名的可能性的参考。如果你想在 Azure DevOps Pipelines 中使用它,似乎你必须自己实现它。我错过了什么吗?Azure DevOps 是否有任何计划来原生支持此功能?
目前(2018年2月13日)Sourcetree仅支持在Mac版本中提交签名.
从这个问题(自2013年以来)提交签名仍然不适用于Windows版本.
那么有可能在Windows版的sourcetree中签名提交吗?
我目前正在远程服务器上开发代码,方法是使用 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) 这是我尝试提交任何文件时得到的输出。我尝试再次安装 git 并在 youtube 上观看了一些教程以重新启动它,但它不起作用。仍然遇到同样的错误:
错误:无法生成 C:\Program Files (x86)\GnuPG\bin\gpg.exe:没有这样的文件或目录 错误:gpg 未能对数据进行签名 致命:写入提交对象失败
我不能每次都禁用输入密码,我如何进行提交。
我安装并设置了Gpg4win吗?我移到带有.git
子文件夹的文件夹?
git add .
,git commit -m "Any description"
。成功签署的提交,无需输入密码。
我进入窗口,在这里我需要输入密码:
pinentry-qt
请输入密码以解锁OpenPGP密钥:
每次提交时,我都需要输入密码。
???? exclude:两次提交之间的间隔时间。
我发现我的USERPROFILE
文件夹- C:\Users\SashaChernykh
- .gnupg\gpg-agent.conf
文件。我尝试将no-tty,batch或no-use-agent行添加到此文件:
no-tty
batch
no-use-agent
Run Code Online (Sandbox Code Playgroud)
我仍然得到实际的行为,这不是预期的。
我最近了解了签名提交并推荐它们。我们可以使用 本地签署提交git commit -S
。之后我阅读了 git 手册页,其中有一个名为-s
(用作git commit -s
)的选项,它表示该选项对提交进行签名。当我查找时,-S
它说它使用 GPG 密钥签署了提交。
我正在 GitHub 中使用 GPG 密钥设置签名提交。这在推送时有什么不同吗?或者在推送到远程时是否相同?
git ×10
git-sign ×10
gnupg ×4
git-commit ×2
sign ×2
azure ×1
azure-devops ×1
gpg-agent ×1
pgp ×1