在RStudio中执行GitHub Commit时出现GPG签名错误
RStudio中Git Commit签名错误的解决及差异原因
问题现象
- Git在bash命令行下所有操作正常,RStudio里push、pull、暂存功能都能正常使用,但唯独commit操作失败
- 全新拉取的GitHub项目,在bash中可以正常提交,RStudio里没法提交,但能推送bash已经提交的更改
- 具体错误信息:
MY-GIT.exe-path commit -F local git-commit-message-873c4702787d.txt --gpg-signerror: gpg failed to sign the data: gpg: skipped "MY NAME ": No secret key [GNUPG:] INV_SGNR 9 MY NAME [GNUPG:] FAILURE sign 17 gpg: signing failed: No secret key
解决方案
在RStudio的终端中执行以下命令,关闭当前仓库的提交签名要求:
git config --local commit.gpgsign false
执行后就能在RStudio中正常完成commit操作了。
差异原因说明
Git的配置分全局和本地仓库两个层级,不同终端环境也可能读取不同的配置:
- bash中你没配置
commit.gpgsign,Git会用默认值(默认是false),所以提交不需要签名,自然没问题 - RStudio的Git环境可能是读取了当前仓库的本地配置,而这个配置里
commit.gpgsign被设成了true,导致每次提交都强制要求GPG签名,但你没有对应的密钥,所以报错 - 另外,RStudio和bash可能使用了不同的Git配置文件路径,这也是导致两者配置不一致的常见原因
内容的提问来源于stack exchange,提问作者ErrantBard
相关产品推荐
相关产品推荐

