禁用 repo init 的 GPG 签名检查(and/or for git)

Disable GPG signature check for repo init (and/or for git)

我正在尝试使用 repo init 命令设置 AOSP 存储库,但是我收到签名检查错误(我编辑了所有实际名称和对象 ID):

repo: error: "git" failed with exit status 1
  cwd: /aoap/.repo/repo
  cmd: ['git', 'tag', '-v', 'v1.12.16']
  stdout:
  >> object 0123456789abcdef0123456789abcdef01234567
  >> type commit
  >> tag v1.12.16
  >> tagger Foo Bar <foobar@android.com> 0123456789 -0700
  >> 
  >> repo 1.12.16
  stderr:
  >> gpg: Signature made gio 31 feb 2022, 12:34:56 CEST
  >> gpg:                using RSA key 0123456789ABCDEF
  >> gpg: Can't check signature: No public key
fatal: cloning the git-repo repository failed, will remove '.repo/repo'

有没有办法跳过或禁用 GPG 签名检查(对于此 repo init,甚至是全局 git)?

首先检查 global config(仅用于 repo init 命令)是否有帮助

git config --global tag.gpgSign false
git config --global commit.gpgSign false

如果这不起作用(因为它可能用于 创建 tag/commit,而不是检查它们),请检查配置 gpg.program

通过将其替换为始终 return 0 的脚本,您可以(再次仅针对 repo init)绕过任何 gpg 检查

git config --global gpg.program myGpg

使用 myGpg 一个可执行的 bash 脚本在 $PATH% 中

#!/bin/bash
exit 0