惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
D
DataBreaches.Net
D
Docker
云风的 BLOG
云风的 BLOG
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
Martin Fowler
Martin Fowler
U
Unit 42
Engineering at Meta
Engineering at Meta
IT之家
IT之家
Vercel News
Vercel News
B
Blog RSS Feed
人人都是产品经理
人人都是产品经理
博客园 - Franky
博客园 - 【当耐特】
Stack Overflow Blog
Stack Overflow Blog
G
Google Developers Blog
MongoDB | Blog
MongoDB | Blog

远飞闲记

用 OpenClaw 搭建全自动晨间简报系统 Open Claw(🦞龙虾): 新手最常踩的 8 个坑,我帮你踩过了 什么是AI Agent(智能体)? OpenClaw 在微信端使用指南 如何让OpenClaw🦞更好用-调教篇 OpenClaw(龙虾🦞)自主赚钱实验笔记 本地Qwen+云模型:OpenClaw真实体验 AI博客主题开发记 OpenClaw初试记 十年博客路:在AI水文泛滥的时代,为何还在坚守? AI Coding实战吐槽:别被"400刀大神"带偏,这些坑我帮你踩过了! 《相信》把不可能变为可能 我们写的程序被杀毒软件杀了,杀毒软件到底杀了什么? 👋2024 探索Unity单元测试:构建可靠游戏代码的基石 实用小黄鸭调试法 炸裂的Unity割韭菜这事 还是要有信念 您好2023 Docker启动提示虚拟化失败 Golang中配置文件热重载方案 重置博客主题 双链知识管理及logseq使用体验 魔幻的魔都疫情 漫谈国内NFT市场状况 如何在UE4中平衡蓝图与C++的使用 2021时光荏苒,2022可遇可期 UE4(Unreal Engine)本地化资源功能 摈弃:“拥有更多=做的更好的”的观念 鱿鱼游戏
GnuGPG Git中的使用及配置
2020-04-25 · via 远飞闲记

为什么需要使用GnuGPG来签名Git commit?,请查看:Git 工具 - 签署工作

安装GPG

  • macOS brew 使用以下命令 :

使用GPG

  • 使用以下生成密钥命令:1

    1
    2
    3
    
    gpg --full-generate-key #git version 2.17.*以上使用这条命令
    # git version 2.1.17 last use under command
    gpg --default-new-key-algo rsa4096 --gen-key

    根据提示一步一步的设置好信息,然后执行:

    1
    2
    3
    4
    
    #查看密钥信息ID
    gpg --list-secret-keys --keyid-format LONG
    #导出签名copy到Github个人设置界面->SSH and GPG keys中
    gpg --armor --export <GPG PUB UID>
  • 上传密钥到公钥服务器2

    1
    
    gpg --send-keys [用户ID] --keyserver hkp://subkeys.pgp.net
  • 导出公钥和私钥

    1
    2
    
    gpg --output mygpgkey_pub.gpg --armor --export <gpg pub id>
    gpg --output mygpgkey_sec.gpg --armor --export-secret-key <gpg pub id>
  • 导入密钥(公钥和私钥)

    1
    2
    3
    
    gpg --import [密钥文件]
    gpg --import ~/mygpgkey_pub.gpg
    gpg --allow-secret-key-import --import ~/mygpgkey_sec.gpg
  • 删除密码:

    1
    2
    3
    4
    5
    
    gpg --edit-key 375A500B
    # 在弹出的界面中输入原来密码,新密码留空即可
    passwd
    # 保存修改
    save

配置Git项目

  • 设置使用的GPG签名3

    1
    
    git config --global user.signingkey <GPG PUB UID>
  • 打开项目提交GPG签名

    1
    
    git config --global commit.gpgsign true #所有项目打开,只针对当前项目打开则删除其中的--global
  • 使用签名提交:4

    1
    2
    3
    
    git commit -S -m commit message
    #Tag签名
    git tag -s
  • 对tag进行签名:5

Note

Git commit的时,出现以下错误:

1
2
gpg failed to sign the data
fatal: failed to write commit object
  • 确认是否导入: export GPG_TTY=$(tty)~/.zshrc~/.bash 文件中;
  • 使用: git config –list 查看 user.signingkey and commit.gpgsign 是否重复设置或设置错误,如果重复设置使用: git config –unset 删除对应的参数
  • 如果提示 Sorry, no terminal at all requested - can't get input 的话,需要 把 ~/.gnupg/gpg.conf 中的 no-tty 注释掉