概述

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效果如下:

参考

[git]使用GPG签名你的commit的更多相关文章

  1. 带GPG签名的Git tag

    原文地址http://airk000.github.io/git/2013/09/30/git-tag-with-gpg-key Git tag ###Tag用来做什么? Tag即标签,用以给项目仓储 ...

  2. Git误操作 git reset强制回滚 恢复commit方法

    参考: 找回Git中丢失的Commit Git误操作 git reset强制回滚 恢复commit方法 使用Git时,常有误操作,在Commit之后又执行了git reset --hard HEAD强 ...

  3. git如何列出最简短的commit(tag和head名都不显示)

    答:git log --oneline --no-decorate --oneline: 将commit显示成一行 --no-decorate: 将tag和head名隐藏掉

  4. 转!!git如何撤销上一次commit(或已push)

    原博文地址 : https://www.cnblogs.com/lyy-2016/p/6509707.html git如何撤销上一次commit操作 1.第一种情况:还没有push,只是在本地comm ...

  5. git使用点滴:如何查看commit的内容

    在push之前有时候会不放心是不是忘记加某些文件,或者是不是多删了个什么东西,这时候希望能够看看上次commit都做了些什么. 一开始想到的是用Git diff,但是git diff用于当前修改尚未c ...

  6. 【原】git如何撤销已提交的commit(未push)

    输入git log,我们可以看到最近的3次提交,最近一次提交是test3,最早的一次是test1,其中一大串类似黄色的字母是commit id(版本号) 如果嫌输出信息太多,可加上--pretty=o ...

  7. 解决git提交敏感信息(回退git版本库到某一个commit)

    解决git提交敏感信息(回退git版本库到某一个commit) Fri 07 June 2013 git是一个很好的版本库, 现在很多人用它, 并在github上创建项目, 相信大家都有过将敏感信息提 ...

  8. (转)Git 提交的正确姿势:Commit message 编写指南

    Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交. $ git commit -m "hello world" 上面代码的-m参数,就是用来 ...

  9. centos7(debian,manjora,freebsd)命令及安装mysql、git、gpg、gogs,安装docker,zsh,chrome

    最小安装: 1. 选择English 2. DATE & TIME 修改好本地时间 SOFTWARE SELECTION默认的Minimal Install就好 INSTALLATION DE ...

随机推荐

  1. 远哥教你MuleESB系列视频教程

    远哥教你MuleESB系列视频课程介绍(共11个视频) —1.Mule ESB介绍 —2.社区版/企业版的区别和安装 —3.MuleESB快速入门,以及MEL和Message结构 —4.官方例子讲解( ...

  2. Bootstrap3.0入门学习系列规划[持续更新]

    详情请看http://aehyok.com/Blog/Detail/5.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:http ...

  3. Revit2013工具栏工具无法显示BUG

    该BUG在Revit2013版中存在,主要症状就是当你激活某些工具的时候,上部工具栏中本应该显示的上下文工具显示不出来,比如当你选中模型中的风管的时候,正常情况下工具栏应该是这个样子. 但是在Revi ...

  4. Xcode中iPhone iPad模拟器调整大小的方法

    Xcode中调试iPad程序默认的iPad模拟器非常小,如何方法iPad模拟器的显示尺寸呢? 选中iOS模拟器,在“Window -> 缩放比例”中就可以调整了. 快捷键: Command + ...

  5. 学习Swift,一定不能错过的10大开源项目!

    如果你是位iOS开发者,或者你正想进入该行业,那么Swift为你提供了一个绝佳的机会.Swift的设计非常优雅,较Obj-C更易于学习,当然也非常强大. 为了指导开发者使用Swift进行开发,苹果发布 ...

  6. WPF中System.Diagnostics.Process.Start的妙用

    我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案 ...

  7. Asp.net Core中使用NLog,并封装成公共的日志方法

    1.安装NLog "NLog.Extensions.Logging": "1.0.0-rtm-alpha4" 2.配置NLog public void Conf ...

  8. windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件

    原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用a ...

  9. Hadoop - Kylin On OLAP

    1.概述 Apache Kylin是一个开源的分布式分析引擎,提供SQL接口并且用于OLAP业务于Hadoop的大数据集上,该项目由eBay贡献于Apache. 2.What is Kylin 在使用 ...

  10. iOS AVKit音视频播放全面详解

    公司项目中经常要用到音视频处理,也需要去定制一些东西,然后整理这些音视频处理就显得尤为重要!方便自己和广大朋友学习收藏! 以下参考连接特别重要: 苹果官方:AVKit API 苹果官方:AVFound ...