GitHub 如何让你的提交显示被校验

如下面的图片显示的,在提交的时候,如何让我的提交显示被校验呢。


其实流程也不是非常复杂,按照下面的过程来进行配置就可以了。

  1. 创建 PGP
  2. 上传 PGP 到 GitHub
  3. 提交时候配置 PGP

创建 PGP

如果你是使用 Windows 来进行安装的话,你需要首先下载安装 gnupg。有关下载安装 gnupg 的方法和过程,请参考页面:如何在 Windows 上创建一个新的 GPG key 中的内容。

当你完成安装后,我们需要运行 Kleopatra 来创建一个 PGP Key。

选择 Kleopatra 右上角的文件,然后选择创建。


在弹出的对话框中,选择创建一个 OpenPGP Key。


在最后的对话框中,输入你的名字和邮件地址。

请注意,你的邮件地址需要和你在 GitHub 上已经校验的邮件地址一致,为了方便,我们用户名也会选择和 GitHub 提交试用的用户名一致,你也可以使用不同的用户名。

不需要使用高级配置,默认的就可以。


单击下一步继续来完成创建。


会提示要求输入密码,这个密码是这个 key 访问的密码,你可以使用一个简单点的。

单击完成,显示创建的 PGP Key,然后在后面的控制台上也可以看到我们创建的 Key。


选择你要的 Key 后导出,你就可以导出成一个 asc 格式的文件,这个文件是一串秘钥。这个就是我们需要上传到 GitHub 上的。

更新 GitHub

在获得创建成功的 asc key 以后,可以用记事本打开。

然后拷贝加密字符串,登录你的 GitHub ,然后选择设置。


在设置页面中,选择 GPG Key。


在弹出的界面中,选择创建新的 GPG


然后将在上一步上拷贝的 Key 字符串,复制粘贴到这里。


然后单击添加 Key 来完成 Key 的添加过程。

如果一切顺利,那么你将会看到你的 key ID。

更新 Git 配置

你可以配置全局的参数也可以针对特定的仓库进行配置。

这里我们来针对特定的仓库来进行配置,找到你需要配置的已经克隆到你本地的仓库。

然后在这个参考中打开:.git\config 文件。

在 [user] 中添加:signingkey = 这个字符串就是你在 Github 上看到的 ID。

添加:

[commit]
    gpgsign = true

添加:

[gpg]
    program = "C:/Program Files (x86)/GnuPG/bin/gpg.exe"

gpg 的配置需要指派到 exe 可执行文件,这个用来对签名进行校验的。

完整的配置如下:

[user]
	signingkey = 5E51AA59A72629C1
[commit]
    gpgsign = true
[gpg]
    program = "C:/Program Files (x86)/GnuPG/bin/gpg.exe"

如果你的配置中的 user 里面还配置了用户名和 Email 地址的话,你自己在下面添加就行,不需要删除。


然后保存后,对代码进行修改,尝试提交修改的代码到仓库中,以确定是否生效了。

如果不开gpg是可能被其他人伪造身份的

https://forum.beginner.center/t/topic/966

其实,这个也谈不上完全被伪造的情况,这个和 Git 的设计有关。

看了这篇文章后,因 Git 的用户部分是可以随时改的。

打开 Git 的配置文件,有个配置用户的地方。

只要你有用户名和邮箱就可以很容易改了。

因为是同学,同学通常会知道你的用户名和邮箱地址,按照上面的内容改一下就行。

如果你用你的邮箱关联过 GitHub,GitHub 就会自然的把你的名字给显示出来了。

从 Github 上随便找个人的信息,上面就很容易能获得上面的信息。

在提交的时候改一下就行。

只是这样做太无聊了,一般也没有必要,价值不高。

就算秋后算账也很容易说自己的提交信息被伪造了。