📜  git 总是使用 gpg 提交 - Shell-Bash (1)

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

Git 总是使用 GPG 提交 - Shell-Bash

Git 是一个非常流行的版本控制系统,它在开源社区和软件开发中广泛使用。Git 提交默认情况下不带有身份验证,这使得其他人可以很容易地冒充您提交的代码。

为了使您的Git提交更安全,您可以使用 GPG 对您的提交进行身份验证。这意味着只有您拥有的私钥才能签署您的代码提交,并且您的团队成员可以确定该提交确实由您签名。

在本文中,我们将介绍如何在Git 中启用 GPG 签名认证。

步骤 1 - 安装 GPG

首先,您需要在您的计算机上安装 GPG。

在 Debian 系统上使用以下命令安装 GPG:

sudo apt-get install gnupg

在 Red Hat 系统上使用以下命令进行安装:

sudo yum install gnupg

在 macOS 系统上,您可以通过 Homebrew 安装 GPG:

brew install gnupg
步骤 2 - 创建 GPG 密钥

接下来,您需要创建自己的 GPG 密钥对。

使用以下命令创建 GPG 密钥对:

gpg --gen-key

您会被要求输入您的名称、电子邮件地址和密码。请确保您输入的信息准确无误。

步骤 3 - 将 GPG 密钥添加到 Git 中

一旦您创建了 GPG 密钥对,您需要将公钥添加到您的 GitHub 帐户或 GitLab 帐户中。

从终端中检索公钥:

gpg --list-keys

您应该看到类似于以下内容的输出:

/Users/myuser/.gnupg/pubring.gpg
-------------------------------------------------
pub   rsa2048 2019-12-20 [SC]
      ABABABABABABABABABABABABABABABABABABABAB
uid           [ultimate] My User <myuser@example.com>
sub   rsa2048 2019-12-20 [E]

将 GPG 公钥添加到您的 GitHub 或 GitLab 帐户中。安装并配置GitHub CLI (command-line interface)后可以使用以下命令添加公钥:

gh auth login
gh ssh-key add ~/.ssh/id_rsa.pub --title "git-ssh-key"

和GitLab CLI(command-line interface)一样,使用以下命令添加:

gitlab-creator ssh-key add "git-ssh-key" ~/.ssh/id_rsa.pub
步骤 4 - 启用 Git 的 GPG 签名

现在,您已经成功地在 GitLab 或 GitHub 上添加了您的 GPG 公钥。接下来,您需要通过配置 Git 来启用 GPG 签名。

打开终端,执行以下命令:

git config --global user.signingkey ABABABABABABABABABABABABABABABABABABABAB
git config --global commit.gpgsign true

请将 ABABABABABABABABABABABABABABABABABABABAB 替换为您 GPG 密钥的公钥 ID。

步骤 5 - 提交代码并签署 GPG

现在您已成功配置 Git 以使用 GPG 签名,现在可以开始提交代码了。

使用以下命令提交代码:

git commit -S -m "My commit message"

请注意,参数 -S 意味着您希望对您的提交进行 GPG 签名。

结论

在本文中,我们介绍了如何在 Git 中启用 GPG 签名认证。通过使用 GPG,您可以使您的提交更加安全,并且让您的团队成员确信提交确实由您签名。