通过R向GitHub提交Git代码时遇GPG锁等待问题求助
解决R提交GitHub代码时的GPG锁等待问题
核心问题分析
你遇到的是GPG密钥数据库被进程锁定的问题,进程ID 9857持有锁导致后续签名操作超时,这和GitHub令牌权限无关——之前重置令牌、重新克隆的操作没命中根因。
具体解决步骤
1. 终止持有锁的GPG进程
- Windows:打开任务管理器,找到PID为9857的
gpg-agent或gpg进程,右键结束任务。 - macOS/Linux:在终端执行命令:
若不确定进程名,可先执行kill -9 9857ps aux | grep gpg确认GPG相关进程。
2. 手动删除GPG锁文件
如果杀进程后问题依旧,手动清理锁文件:
- macOS/Linux:锁文件位于
~/.gnupg/目录,执行:rm -rf ~/.gnupg/*.lock - Windows:锁文件在
C:\Users\<你的用户名>\AppData\Roaming\gnupg\路径下,找到所有后缀为.lock的文件删除。
3. 重启GPG代理
执行命令重启代理,确保密钥数据库恢复正常:
gpgconf --kill gpg-agent gpg-agent --daemon
4. 临时跳过GPG签名(应急方案)
如果上述操作仍无法解决,可临时关闭Git的GPG签名验证,先完成代码提交:
git config --global commit.gpgsign false
后续需要恢复签名时,执行:
git config --global commit.gpgsign true
验证操作
执行gpg --list-keys,若能正常输出密钥列表,再尝试用R的提交功能推送代码。
内容的提问来源于stack exchange,提问作者Will
相关产品推荐
相关产品推荐

