162306a36Sopenharmony_ci.. include:: ../disclaimer-zh_CN.rst 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci:Original: Documentation/maintainer/configure-git.rst 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci:译者: 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci 吴想成 Wu XiangCheng <bobwxc@email.cn> 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci.. _configuregit_zh: 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciGit配置 1262306a36Sopenharmony_ci======= 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci本章讲述了维护者级别的git配置。 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciDocumentation/maintainer/pull-requests.rst 中使用的标记分支应使用开发人员的 1762306a36Sopenharmony_ciGPG公钥进行签名。可以通过将 ``-u`` 标志传递给 ``git tag`` 来创建签名标记。 1862306a36Sopenharmony_ci但是,由于 *通常* 对同一项目使用同一个密钥,因此可以设置:: 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci git config user.signingkey "keyname" 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci或者手动编辑你的 ``.git/config`` 或 ``~/.gitconfig`` 文件:: 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci [user] 2562306a36Sopenharmony_ci name = Jane Developer 2662306a36Sopenharmony_ci email = jd@domain.org 2762306a36Sopenharmony_ci signingkey = jd@domain.org 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci你可能需要告诉 ``git`` 去使用 ``gpg2``:: 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci [gpg] 3262306a36Sopenharmony_ci program = /path/to/gpg2 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci你可能也需要告诉 ``gpg`` 去使用哪个 ``tty`` (添加到你的shell rc文件中):: 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci export GPG_TTY=$(tty) 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci创建链接到lore.kernel.org的提交 4062306a36Sopenharmony_ci------------------------------- 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_cihttp://lore.kernel.org 网站是所有涉及或影响内核开发的邮件列表的总存档。在这里 4362306a36Sopenharmony_ci存储补丁存档是推荐的做法,当维护人员将补丁应用到子系统树时,最好提供一个指向 4462306a36Sopenharmony_cilore存档链接的标签,以便浏览提交历史的人可以找到某个更改背后的相关讨论和基本 4562306a36Sopenharmony_ci原理。链接标签如下所示: 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci Link: https://lore.kernel.org/r/<message-id> 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci通过在git中添加以下钩子,可以将此配置为在发布 ``git am`` 时自动执行: 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci.. code-block:: none 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci $ git config am.messageid true 5462306a36Sopenharmony_ci $ cat >.git/hooks/applypatch-msg <<'EOF' 5562306a36Sopenharmony_ci #!/bin/sh 5662306a36Sopenharmony_ci . git-sh-setup 5762306a36Sopenharmony_ci perl -pi -e 's|^Message-Id:\s*<?([^>]+)>?$|Link: https://lore.kernel.org/r/$1|g;' "$1" 5862306a36Sopenharmony_ci test -x "$GIT_DIR/hooks/commit-msg" && 5962306a36Sopenharmony_ci exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} 6062306a36Sopenharmony_ci : 6162306a36Sopenharmony_ci EOF 6262306a36Sopenharmony_ci $ chmod a+x .git/hooks/applypatch-msg 63