内核维护者手册 - 配置Git【ChatGPT】

发布时间 2023-12-08 21:20:06作者: 摩斯电码

配置 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