配置 Git
本章描述了维护者级别的 Git 配置。
在拉取请求中使用的标记分支(请参阅创建拉取请求)应该由开发者的公共 GPG 密钥进行签名。可以通过向 git tag 传递 -u 来创建已签名的标签。然而,由于通常会为项目使用相同的密钥,您可以在配置中设置它并使用 -s 标志。要设置默认的密钥 ID,请使用:
git config user.signingkey "keyname"
或者,手动编辑您的 .git/config 或 ~/.gitconfig 文件:
[user] name = Jane Developer email = jd@domain.org signingkey = jd@domain.org
您可能需要告诉 git 使用 gpg2:
[gpg] program = /path/to/gpg2
您可能还想告诉 gpg 使用哪个 tty(添加到您的 shell rc 文件中):
export GPG_TTY=$(tty)
创建提交链接到 lore.kernel.org
网站 https://lore.kernel.org 旨在作为有关内核开发的所有邮件列表流量的大型存档。在这里存储补丁的存档是一种推荐的做法,当维护者将补丁应用到子系统树时,最好提供一个 Link: 标签,其中包含指向 lore 存档的引用,以便浏览提交历史的人们可以找到相关讨论和特定更改背后的原因。链接标签将如下所示:
Link: https://lore.kernel.org/r/<message-id>
可以通过将以下钩子添加到您的 git 中,使其在每次发出 git am 命令时自动执行:
$ git config am.messageid true $ cat >.git/hooks/applypatch-msg <<'EOF' #!/bin/sh . git-sh-setup perl -pi -e 's|^Message-I[dD]:\s*<?([^>]+)>?$|Link: https://lore.kernel.org/r/$1|g;' "$1" test -x "$GIT_DIR/hooks/commit-msg" && exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} : EOF $ chmod a+x .git/hooks/applypatch-msg