Github - 如何提交一个带有“verified”标识的commit

Github - 如何提交一个带有"verified"标识的commit

前言(Why)

今天在Github上浏览某项目的commit记录的时候发现,有的commit记录带有verified绿色标识,有的带有橘色的Unverified标识,还有的什么都不显示。

既然我是根正苗红的作者(bushi),为何不想要一个verified标呢?相关探究随之而来。

What

这是Github的"提交签名验证"机制,可以确保改提交未本人所为。

当提交签名在被推送到 GitHub 时经过验证,一个验证记录会与该提交一并存储。 该记录无法编辑且会一直存在,这样一来,即便签名密钥被轮换、撤销,或者参与者离开了组织,签名也能始终保持已验证状态。

验证记录包含一个时间戳,用于标记验证完成的时间。 此持久记录可确保已验证状态的一致性,为存储库内的参与提供稳定的历史记录。 可以通过将鼠标悬停在 GitHub 上的"Verified"徽章上,或者通过REST API访问提交(其中包含一个 verified_at 字段)来查看此时间戳。

How

因为SSH密钥对还可以当Authentication Key,所以这里介绍如何使用SSH密钥对对一次commit签名(其实是因为我暂时不太了解GPG Key)。

假设你已经在默认位置生成过ssh密钥对,则只需在你想提交时签名的仓库执行以下命令(如果你想对所有未进行过相关配置的仓库生效,只需要在git config后面加一个--global):

bash 复制代码
git config commit.gpgsign true           # 设置commit时使用gpg签名
git config gpg.format ssh                # 设置使用ssh密钥进行签名
git config user.signingkey <ssh公钥路径>  # 配置ssh公钥路径

然后将ssh公钥上传到github上。

Github - SSH and GPG keys -> New SSH Key -> Key type选择Signing Key -> 输入SSH公钥并保存。

在本地进行一次commit并push到Github,顺利的话,在Commit历史记录中就能看到Verified标了。

End

但是注意,git版本大于等于2.41才支持上述配置。
The Real End, Thanks! 原创不易,转载经作者同意后请附上原文链接哦~

Tisfy:https://letmefly.blog.csdn.net/article/details/144796175

相关推荐
mCell5 小时前
如何零成本搭建个人站点
前端·程序员·github
艺杯羹11 小时前
Git版本控制深度复盘:从入门到精通的完整指南
git·wpf·版本控制·git学习·git复盘
我怎么又饿了呀11 小时前
如何上传本地文件到github仓库中入门教学
github
Jingzhou11 小时前
基于 AKShare 金融数据做了一个轻量级的金融研究 Agent
后端·github
菩提小狗12 小时前
第7天:信息打点-资产泄漏&CMS识别&Git监控&SVN&DS_Store&备份|【小迪安全】web安全|渗透测试|网络安全-2021
git·安全·svn
Sheffi6613 小时前
Swift 所有权宏 `~Copyable` 深度解析:如何在 Swift 中实现类似 Rust 的内存安全模型?
rust·ssh·swift
淘矿人14 小时前
[特殊字符] 别再手动写提示词了!Claude Skills 10分钟入门,效率暴涨200%,Token狂省78%
人工智能·vscode·python·pycharm·github·文心一言·ai编程
Ghost Face...14 小时前
嵌入式Linux开发Git实战:从认证到Gerrit推送
linux·git·elasticsearch
逛逛GitHub15 小时前
GitHub 上狂揽 1.3 万 Star!港大开源的轻量版 Clawdbot。
github
云雾J视界17 小时前
当Agent接管代码后:产品经理的终极价值,是定义AI无法感知的“恐惧”与“爽点”
github·openai·copilot·ai产品经理·碳基情绪·硅基概率