Fork me on GitHub

[git]使用GPG签名你的commit

概述

GPG是一种加密算法,现在github支持commit使用GPG加密,从而保证提交的commit在传输的过程中没有被篡改。

一、生成GPG密钥

什么是GPG:阮一峰的GPG教程

  1. 安装GPG:brew install GPG

  2. 生成GPG key:gpg --gen-key,根据提示,生成GPG key,注意:确保邮箱的那项是你github账号认证的邮箱;还有记住输入的密码。

  3. 查看GPG key:gpg --list-keys,如下图:

    注意:sub:私钥;pub:公钥;黄色的才是GPG key ID

  4. 获取公钥:gpg --armor --export pub GPG key ID

二、github设置GPG key

  1. 拷贝上面得到的公钥到github账号中,注意:格式如:开头:-----BEGIN PGP PUBLIC KEY BLOCK-----,结尾:-----END PGP PUBLIC KEY BLOCK-----。请参考把GPG key 加到你的github帐号

三、配置git

  1. 通过:gpg --list-keys查看pub GPG key ID,然后设置git签名时用的key:git config --global user.signingkey pub GPG key ID

  2. 开启GPG签名commit:git config commit.gpgsign true;关闭:git config commit.gpgsign false

  3. 如果你想让所有的本地仓库都使用GPG签名:git config --global commit.gpgsign true

四、效果

和正常的提交commit的区别,在开启commit使用GPG加密后,提交commit时,如下图:

push到github效果如下:

参考

posted @ 2016-04-25 12:17 削微寒 阅读(...) 评论(...) 编辑 收藏