codecamp

GitHub 将电子邮件与 GPG 密钥关联

GPG 密钥必须 GitHub 验证过与提交者身份匹配的电子邮件地址匹配。

如果使用的 GPG 密钥匹配提交者身份以及与 GitHub 帐户关联的已验证电子邮件地址,则您可以开始对提交和标记签名。

  1. 打开 Git Bash。

  1. 使用 gpg --list-secret-key--keyid-form LONG 命令列出您拥有其公钥和私钥的 GPG 密钥。 签名提交或标记需要私钥。

   $ gpg --list-secret-keys --keyid-format LONG

注:Linux上的一些 GPG 安装可能需要使用 gpg2 --list-keyid-form LONG 查看您现有密钥的列表。 在这种情况下,您还需要运行 git config --global gpg.program gpg2 来配置 Git 使用 git gpg2

  1. 从 GPG 密钥列表中复制您想要使用的 GPG 密钥 ID。 在此例中,GPG 密钥 ID 是 3AA5C34371567BD2

   $ gpg --list-secret-keys --keyid-format LONG
   /Users/hubot/.gnupg/secring.gpg
   ------------------------------------
   sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
   uid                          Hubot
   ssb   4096R/42B317FD4BA89E7A 2016-03-10

  1. 输入 gpg --edit-key GPG key ID,替换要使用的 GPG 密钥 ID。 在以下示例中,GPG 密钥 ID 是 3AA5C34371567BD2

   $ gpg --edit-key 3AA5C34371567BD2

  1. 输入 gpg> adduid 以添加用户 ID 详细信息。

   $ gpg> adduid

  1. 按照提示提供您的真实姓名、电子邮件地址和任何注释。 您可以选择 NCE 来修改各个条目。 要对电子邮件地址保密,请使用 GitHub 提供的 no-reply 电子邮件地址。 更多信息请参阅“设置提交电子邮件地址”。

   Real Name: Octocat
     Email address: octocat@github.com
     Comment: GitHub key
     Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?

  1. 输入 O 以保存选择。

  1. 输入密钥的密码。

  1. 输入 gpg --armor --export GPG key ID,替换要使用的 GPG 密钥 ID。 在以下示例中,GPG 密钥 ID 是 3AA5C34371567BD2

   $ gpg --armor --export 3AA5C34371567BD2
   # Prints the GPG key, in ASCII armor format

  1. 添加 GPG 密钥到 GitHub 帐户以上传该 GPG 密钥。

延伸阅读

GitHub 将您的签名密钥告知 Git
GitHub 对提交签名
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }