配置 Git¶
本章介绍维护者级别的 git 配置。
拉取请求中使用的带标签分支(请参阅 创建拉取请求)应使用开发人员的公钥 GPG 签名。 可以通过将 -u <key-id>
传递给 git tag
来创建签名标签。 但是,由于您通常会为项目使用相同的密钥,因此可以在配置中设置它并使用 -s
标志。 要设置默认的 key-id
,请使用
git config user.signingkey "keyname"
或者,手动编辑您的 .git/config
或 ~/.gitconfig
文件
[user]
name = Jane Developer
email = [email protected]
signingkey = [email protected]
您可能需要告诉 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>
可以通过将以下 hook 添加到您的 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