热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

如何给GitHubcommit加个绿色图标(教程详解)

这篇文章主要介绍了如何给GitHubcommit加个绿色图标,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

最近一波重装系统啥都没了,最常用的 Git 配置肯定得安排回来的。记得之前给 git 的 commit 加了个签名,回想下为什么要给 commit 做下签名?因为它能让 GitHub 的 commit 历史更帅?看下加签名之前是怎么样的:

在这里插入图片描述

再看下对 commit 签名后是怎么样的:

在这里插入图片描述

这么一对比,是更帅了!但我好像不是因为这的才做的。我是为了更好的去混开源项目做的,这个绿标能更好的证明我的身份!!!(假装我很专业,2333~)。使用过 Git 的同学应该都晓得,我们的提交作者信息是可以自己设置的(这意味着我们可以使用他人身份信息),如下:

$ git config user.name "tester"
$ git config user.email gg@qq.com

在这里插入图片描述

我们可以看到,是可以 push 到 GitHub 的[没有小绿标而已]。这看起来就不太好,得让 GitHub 证明下自己得身份才行,从官方文档可以看到, GitHub 提供了一种使用 GPG 的方式可以让我们的 commit “戴”上小绿标。

忘了当初是怎么操作的了,在 Windows 下操作貌似还挺麻烦的,趁此捋一下过程,趁机水篇文章。

GNU Privacy Guard(GnuPG或GPG)是一个密码学软件,用于加密、签名通信内容及管理非对称密码学的密钥。

生成 GPG 密钥对

第一步肯定就是通过 GPG 生成密钥对了。这时候需要到一个 GnuPG 软件,OK,去下载:🔐GnuPG。其实 Git fot windows 自带一个 gpg 命令行程序,但是命令行用多了,还是上 GUI 愉快点吧,我们选择使用带 GUI 的 Gpg4win🔗。

在这里插入图片描述

我们通过全家桶软件之 Kleopatra 新建立一对密钥,名字为 GitHub 用户名,邮箱为 GitHub 的注册邮箱(使用 4096 bits的密钥):

在这里插入图片描述
在这里插入图片描述

设置 passphrase (通行口令)来保护我们的密钥对,每次签名都会用它到。(也可以不设置,不用口令验证就可以直接使用密钥)

在这里插入图片描述

好了,密钥对生成完毕。下一步,就是把把公钥放到 GitHub 上,让 GitHub 对我们的提交进行验证,判断是否该给 commit “戴”上小绿标。[获取公钥:鼠标右键->细节->导出]、[GitHub 添加公钥:Settings->SSH and GPG keys]。

在这里插入图片描述

下一步就是开启 Git 提交签名。

启用 Git 提交签名

首先,我们需要让 Git 知道 gpg 的可执行程序在哪里?gpg 的可执行程序位于Gpg4win🔗同级目录下的GnuPG/bin中(GnuPG 是 Gpg4win 组件之一),我们需要进行如下配置:

$ git config --global gpg.program 

我的设置如下:

$ where gpg
E:\Git\usr\bin\gpg.exe # 这个是 Git for windows 自带的
E:\GnuPG\bin\gpg.exe # 这个才是我们要用的
$ git config --global gpg.program "E:\GnuPG\bin\gpg.exe"

然后每次git commit时,加上-S即可启用签名。

在这里插入图片描述

每次都要多打个参数多麻烦,我们通过如下配置让 Git 默认启用 GPG 签名:

$ git config --global commit.gpgsign true

最后我们git push一下看看有没有效果。
https://github.com/yeshan333/anonymous-git-commit/commits/master

在这里插入图片描述

没问题,收工了。我的 Git 全局配置如下:

$ cat ~/.gitconfig
[user]
  name = yeshan333
  email = 1329441308@qq.com
[gpg]
  program = E:\\GnuPG\\bin\\gpg.exe
[commit]
  gpgsign = true

总结

到此这篇关于如何给 GitHub commit 加个绿色图标(教程详解)的文章就介绍到这了,更多相关GitHub commit 绿色图标内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
  • Spring Boot与Graylog集成实现微服务日志聚合与分析
    本文介绍了如何在Graylog中配置输入源,并详细说明了Spring Boot项目中集成Graylog的日志聚合和分析方法,包括logback.xml的多环境配置。 ... [详细]
  • 一、使用Microsoft.Office.Interop.Excel.DLL需要安装Office代码如下:2publicstaticboolExportExcel(S ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • Java 中的十进制样式 getZeroDigit()方法,示例 ... [详细]
  • 在开发一个网页音乐播放器时遇到问题,需要从不同源读取MP3文件的ID3标签信息,包括流派、歌手和歌曲名称等。尝试使用PHP未果后转而考虑使用JavaScript进行跨域读取,但不清楚具体配置方法,寻求技术指导。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
author-avatar
pengwei8751150
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有