Skip to content
夏天的风
Go back

macOS 设置 Git GPG

使用

1. 安装 GPG

brew install gnupg

添加 tty 配置,在 .zshrc.bashrc 中添加以下内容,保存后执行 source .zshrcsource .bashrc

GPG_TTY=$(tty)
export GPG_TTY

主要是解决终端加密时报错 gpg: signing failed: Inappropriate ioctl for device

2. 安装密钥

gpg --gen-key

查看密钥信息

gpg --list-keys

密钥信息示例,其中 8AE9967DDGGA0B9699367748501HAA2BVF729701 为密钥 ID

[keyboxd]
---------
pub   er26965 2025-03-02 [SC] [有效至:2028-03-01]
      8AE9967DDGGA0B9699367748501HAA2BVF729701
uid             [ 绝对 ] Example man <example@example.com>
sub   cv26965 2025-03-02 [E] [有效至:2028-03-01]

导出公钥配置到 GitHub 之类的网站上

gpg --armor --export <your-key-id>

公钥示例

-----BEGIN PGP PUBLIC KEY BLOCK-----
JFODFOPDIJFLKDJFSDHJASDDSFSD987213412
FDSF899HJFIK9TDSUISIFD08
=DF90

-----END PGP PUBLIC KEY BLOCK-----

3. Git 配置

配置使用该 GPG 密钥,单项目配置

git config user.signingkey <your-key-id>

全局配置

git config --global user.signingkey <your-key-id>

提交时,添加 -S 参数,示例

git commit -S -m "xxxxx"

添加配置,默认启用 GPG

git config commit.gpgsign true

全局默认启用 GPG

git config --global commit.gpgsign true

参考资料

  1. https://stackoverflow.com/questions/57591432/gpg-signing-failed-inappropriate-ioctl-for-device-on-macos-with-maven
  2. https://github.com/Homebrew/homebrew-core/issues/14737#issuecomment-309848851
  3. https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E7%AD%BE%E7%BD%B2%E5%B7%A5%E4%BD%9C

Share this post on:

Next Post
Windows 配置 Oh My Posh