Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 使用提交的远程拒绝推送必须具有有效的签名_Git_Github - Fatal编程技术网

Git 使用提交的远程拒绝推送必须具有有效的签名

Git 使用提交的远程拒绝推送必须具有有效的签名,git,github,Git,Github,我在推的时候遇到了这个错误 git推送 枚举对象:13,完成。 计数对象:100%(13/13),完成。 增量压缩最多使用8个线程 压缩对象:100%(7/7),完成。 写入对象:100%(7/7),586字节| 195.00 KiB/s,完成。 总计7(增量6),重复使用0(增量0) 远程:解析增量:100%(6/6),由6个本地对象完成。 远程:错误:GH006:refs/heads/master的受保护分支更新失败。 远程:错误:提交必须具有有效的签名。 到https://github.c

我在推的时候遇到了这个错误

git推送
枚举对象:13,完成。
计数对象:100%(13/13),完成。
增量压缩最多使用8个线程
压缩对象:100%(7/7),完成。
写入对象:100%(7/7),586字节| 195.00 KiB/s,完成。
总计7(增量6),重复使用0(增量0)
远程:解析增量:100%(6/6),由6个本地对象完成。
远程:错误:GH006:refs/heads/master的受保护分支更新失败。
远程:错误:提交必须具有有效的签名。
到https://github.com/xxx-xxx-xxx
! [远程拒绝]主机->主机(受保护的分支钩被拒绝)
错误:无法将某些引用推送到'https://github.com/xxx-xxx-xxx'

如何解决此问题?

GitHub具有分支保护设置启用时,将只允许使用验证签名签名签名的提交推送到分支。此设置正在进行中 为GitHub上的每个存储库设置->分支->分支保护规则

如果您无法控制repo设置,则在推送到GitHub远程repo之前,必须对提交进行签名

对于签名提交,如果您使用的是GPG密钥,则需要通过以下命令配置Git以使用该密钥(用GPG密钥ID替换
keyID
)。如果没有安装GPG密钥,可以使用
GPG--gen key
生成一个

git config --global user.signingkey keyID
然后,您可以通过添加
-S
标志对提交进行签名,如下所示

git commit -S -m "commitMessage"
然后,您可以将提交推送到GitHub repo

GitHub有一个文档,您可以参考。或者,你甚至可以参考关于签署你的作品。GitHub关于要求提交签名的文档是