[git]使用GPG签名你的commit
概述
GPG是一种加密算法,现在github支持commit使用GPG加密,从而保证提交的commit在传输的过程中没有被篡改。
一、生成GPG密钥
什么是GPG:阮一峰的GPG教程
安装GPG:
brew install GPG生成GPG key:
gpg --gen-key,根据提示,生成GPG key,注意:确保邮箱的那项是你github账号认证的邮箱;还有记住输入的密码。查看GPG key:
gpg --list-keys,如下图:

注意:sub:私钥;pub:公钥;黄色的才是GPG key ID获取公钥:
gpg --armor --export pub GPG key ID
二、github设置GPG key
- 拷贝上面得到的公钥到github账号中,注意:格式如:开头:
-----BEGIN PGP PUBLIC KEY BLOCK-----,结尾:-----END PGP PUBLIC KEY BLOCK-----。请参考把GPG key 加到你的github帐号
三、配置git
通过:
gpg --list-keys查看pub GPG key ID,然后设置git签名时用的key:git config --global user.signingkey pub GPG key ID开启GPG签名commit:
git config commit.gpgsign true;关闭:git config commit.gpgsign false如果你想让所有的本地仓库都使用GPG签名:
git config --global commit.gpgsign true
四、效果
和正常的提交commit的区别,在开启commit使用GPG加密后,提交commit时,如下图:

push到github效果如下:

参考
[git]使用GPG签名你的commit的更多相关文章
- 带GPG签名的Git tag
原文地址http://airk000.github.io/git/2013/09/30/git-tag-with-gpg-key Git tag ###Tag用来做什么? Tag即标签,用以给项目仓储 ...
- Git误操作 git reset强制回滚 恢复commit方法
参考: 找回Git中丢失的Commit Git误操作 git reset强制回滚 恢复commit方法 使用Git时,常有误操作,在Commit之后又执行了git reset --hard HEAD强 ...
- git如何列出最简短的commit(tag和head名都不显示)
答:git log --oneline --no-decorate --oneline: 将commit显示成一行 --no-decorate: 将tag和head名隐藏掉
- 转!!git如何撤销上一次commit(或已push)
原博文地址 : https://www.cnblogs.com/lyy-2016/p/6509707.html git如何撤销上一次commit操作 1.第一种情况:还没有push,只是在本地comm ...
- git使用点滴:如何查看commit的内容
在push之前有时候会不放心是不是忘记加某些文件,或者是不是多删了个什么东西,这时候希望能够看看上次commit都做了些什么. 一开始想到的是用Git diff,但是git diff用于当前修改尚未c ...
- 【原】git如何撤销已提交的commit(未push)
输入git log,我们可以看到最近的3次提交,最近一次提交是test3,最早的一次是test1,其中一大串类似黄色的字母是commit id(版本号) 如果嫌输出信息太多,可加上--pretty=o ...
- 解决git提交敏感信息(回退git版本库到某一个commit)
解决git提交敏感信息(回退git版本库到某一个commit) Fri 07 June 2013 git是一个很好的版本库, 现在很多人用它, 并在github上创建项目, 相信大家都有过将敏感信息提 ...
- (转)Git 提交的正确姿势:Commit message 编写指南
Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交. $ git commit -m "hello world" 上面代码的-m参数,就是用来 ...
- centos7(debian,manjora,freebsd)命令及安装mysql、git、gpg、gogs,安装docker,zsh,chrome
最小安装: 1. 选择English 2. DATE & TIME 修改好本地时间 SOFTWARE SELECTION默认的Minimal Install就好 INSTALLATION DE ...
随机推荐
- RTL8710 ROM 符号表 函数,常量,变量
函数 Name Address Ordinal ---- ------- ------- __vectors_table Reset_Handler NMI_Handler HardFault_Han ...
- 什么是automatic variable?
看代码符号$?搞不清楚是什么? 看代码. $share = Get-WmiObject -Class Win32_Share -ComputerName $Server.name -Credent ...
- 通过sqlplus导出数据到csv
例子 [oracle@localhost ~]$ cat data.sqlset echo offset feedback offset linesize 100set pagesize 0set s ...
- GTD中回顾闭环
一: 回顾的作用 :让事情告一段落 A: 回顾已经完成---->找到成就感 B: 安排未完成----->做到心中有数 2: 让心情告一段落 当事情一天的事情告一段落的时候,内心就会彻底放下 ...
- asp.net web 后台判断提示框,点击'是'执行代码A(),点击'否'执行代码B()
html code <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server&q ...
- 解决linux下主机名变bogon的问题
早上起来发现 linux主机名变为bogon bogon是指那些不该出现在internet路由表中的地址吧这些地址应该包括:1,私有地址如10,172.16-32,192.168.....2,还未正式 ...
- Rxlifecycle(三):坑
坑1 Observable.just("hello world!") .compose(this.<String>bindUntilEvent(ActivityEven ...
- Spring 注释 @Autowired 和@Resource 的区别
Spring 注释 @Autowired 和@Resource 的区别 一. @Autowired和@Resource都可以用来装配bean,都可以写在字段上,或者方法上. 二. @Autowired ...
- html5开发之viewport使用
随着高端手机(Andriod,Iphone,Ipod,WinPhone等)的盛行,移动互联应用开发也越来越受到人们的重视,用html5开发移动应用是最好的选择.然而,每一款手机有不同的分辨率,不同屏幕 ...
- 解决HP打印机错误:Couldn't open fifo
我的是因为选错了打印机协议,一开始选成了“互联网打印协议 - IPP”. 解决方案:删除原有打印机配置,重新选择协议为“HP Jetdirect-Socket”即可.