本地代码上华为云devCloud代码托管报错——提交信息必须用GPG签名
将本地代码上华为云devCloud的代码托管里报错 提交信息必须用GPG签名
一、下面是解决方法
1、生成gpg证书
任意位置打开Git Bash,执行如下指令
gpg --full-generate-key
- 加密算法,直接回车,默认使用
RSA and RSA
- 密钥长度,我选择 4096
- 密钥有效的时间长度,直接回车,默认0,即永不过期
- Is this correct? (y/N) y,输入y,确认一下
- 输入用户ID,电子邮箱地址,注释(comment可不填),用户ID建议填GitHub用户名,电子邮箱填GitHub验证的绑定邮箱
- 输入 O 确认
- 自己设置一个GPG密码来保护GPG秘钥,然后再次输入密码确认,此时一个GPG秘钥创建完成
这里密码输错或忘记了看下面的补充说明
2、看gpg证书
gpg --list-secret-keys --keyid-format LONG
3、配置证书
git config --global user.signingkey <Key ID>
<Key ID>是上面生成的ID
4、下载git-crypt放在git同目录的CMD文件夹里
https://github.com/oholovko/git-crypt-windows/releases
5、项目下执行初始化
git-crypt init
6、添加上面生成的密钥
git-crypt add-gpg-user <Key ID>
7、.gitattributes文件设置加密范围
*.py filter=git-crypt diff=git-crypt
看git日志,能够看到提交的信息已经有gpg加密信息了(配置gpg前提交的内容不会自动附加gpg,需要撤回重新提交才会附加gpg)
git log --show-signature
补充说明
remote: 无效的用户名格式,请输入正确的用户名[账户名/用户名]!
remote: 具体可以点击 代码托管首页-设置我的HTTPS密码 查看
remote: 如果您设置了凭证管理[credential.helper], 请先清理.
repository ‘https://codehub-cn-south-1.devcloud.huaweicloud.com/auto_data00001/auto_data.git/’ not found
这是因为用户名密码错误,而每次凭证自动登录没有重新输入的机会,需要修改凭证里的用户名和密码或者删除凭证。
解决方法:打开凭据管理器进行修改
- 点赞
- 收藏
- 关注作者
评论(0)