📜  带有 gpg 键的 git push - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:25:26.542000             🧑  作者: Mango

带有 GPG 键的 Git Push - Shell/Bash

GPG(GNU Privacy Guard)是一种可用于签名和加密文件的开放源码软件。 在Git中,我们可以使用GPG来签署和验证commit,并确保commit的来源和完整性。 本文将介绍如何在Git中使用GPG。

1. 安装GPG

在Ubuntu系统中,可以使用以下命令安装:

sudo apt-get update
sudo apt-get install gnupg gnupg2 gnupg-agent

在MacOS中,可以使用Homebrew安装:

brew install gnupg gnupg2 gnupg-agent
2. 生成GPG key

在Git中,我们需要生成GPG key来管理我们的密钥。

gpg --gen-key

运行这个命令后,您将需要提供您的姓名和电邮地址以及密码等信息。

3. 在Git中设置GPG key

设置GPG key的方法有两种,一种是全局设置,另一种是仅为当前repo设置。请根据自己的需求选择设置方式。

全局设置
git config --global user.signingkey your-key-id
当前repo设置
git config user.signingkey your-key-id
4. 使用GPG签署commit

假设您已经对一个文件进行了更改,并提交了一个commit。要使用GPG签署该commit,请使用以下命令:

git commit -S -m "commit message"
参数说明
  • -S: 使用GPG来签署commit。
  • -m: 用于指定提交信息。
5. 使用GPG验证commit

如果你想验证commit中是否含有GPG key,可以用以下命令:

git log --show-signature

如图所示,即证明该commit是由glavnet签署的。

git log show-signature

6. 带有GPG key的Git Push

最后一步是将您签署过的commit推送到远程存储库中。要使用GPG key推送,您需要在push时将--gpg-sign选项与指定的key ID一起使用。

git push --gpg-sign=your-key-id
参数说明
  • --gpg-sign=your-key-id: 使用指定的key ID来签署push。
总结

在本文中,我们介绍了如何在Git中使用GPG。使用GPG key来签署commit是很重要的,可以保证commit的来源和完整性。如果您是一名程序员,我们建议您在您的项目中使用GPG key。