1*6ba8a96fSWu XiangCheng.. include:: ../disclaimer-zh_CN.rst 2*6ba8a96fSWu XiangCheng 3*6ba8a96fSWu XiangCheng:Original: Documentation/maintainer/configure-git.rst 4*6ba8a96fSWu XiangCheng 5*6ba8a96fSWu XiangCheng:译者: 6*6ba8a96fSWu XiangCheng 7*6ba8a96fSWu XiangCheng 吴想成 Wu XiangCheng <bobwxc@email.cn> 8*6ba8a96fSWu XiangCheng 9*6ba8a96fSWu XiangCheng.. _configuregit_zh: 10*6ba8a96fSWu XiangCheng 11*6ba8a96fSWu XiangChengGit配置 12*6ba8a96fSWu XiangCheng======= 13*6ba8a96fSWu XiangCheng 14*6ba8a96fSWu XiangCheng本章讲述了维护者级别的git配置。 15*6ba8a96fSWu XiangCheng 16*6ba8a96fSWu XiangChengDocumentation/maintainer/pull-requests.rst 中使用的标记分支应使用开发人员的 17*6ba8a96fSWu XiangChengGPG公钥进行签名。可以通过将 ``-u`` 标志传递给 ``git tag`` 来创建签名标记。 18*6ba8a96fSWu XiangCheng但是,由于 *通常* 对同一项目使用同一个密钥,因此可以设置:: 19*6ba8a96fSWu XiangCheng 20*6ba8a96fSWu XiangCheng git config user.signingkey "keyname" 21*6ba8a96fSWu XiangCheng 22*6ba8a96fSWu XiangCheng或者手动编辑你的 ``.git/config`` 或 ``~/.gitconfig`` 文件:: 23*6ba8a96fSWu XiangCheng 24*6ba8a96fSWu XiangCheng [user] 25*6ba8a96fSWu XiangCheng name = Jane Developer 26*6ba8a96fSWu XiangCheng email = jd@domain.org 27*6ba8a96fSWu XiangCheng signingkey = jd@domain.org 28*6ba8a96fSWu XiangCheng 29*6ba8a96fSWu XiangCheng你可能需要告诉 ``git`` 去使用 ``gpg2``:: 30*6ba8a96fSWu XiangCheng 31*6ba8a96fSWu XiangCheng [gpg] 32*6ba8a96fSWu XiangCheng program = /path/to/gpg2 33*6ba8a96fSWu XiangCheng 34*6ba8a96fSWu XiangCheng你可能也需要告诉 ``gpg`` 去使用哪个 ``tty`` (添加到你的shell rc文件中):: 35*6ba8a96fSWu XiangCheng 36*6ba8a96fSWu XiangCheng export GPG_TTY=$(tty) 37*6ba8a96fSWu XiangCheng 38*6ba8a96fSWu XiangCheng 39*6ba8a96fSWu XiangCheng创建链接到lore.kernel.org的提交 40*6ba8a96fSWu XiangCheng------------------------------- 41*6ba8a96fSWu XiangCheng 42*6ba8a96fSWu XiangChenghttp://lore.kernel.org 网站是所有涉及或影响内核开发的邮件列表的总存档。在这里 43*6ba8a96fSWu XiangCheng存储补丁存档是推荐的做法,当维护人员将补丁应用到子系统树时,最好提供一个指向 44*6ba8a96fSWu XiangChenglore存档链接的标签,以便浏览提交历史的人可以找到某个更改背后的相关讨论和基本 45*6ba8a96fSWu XiangCheng原理。链接标签如下所示: 46*6ba8a96fSWu XiangCheng 47*6ba8a96fSWu XiangCheng Link: https://lore.kernel.org/r/<message-id> 48*6ba8a96fSWu XiangCheng 49*6ba8a96fSWu XiangCheng通过在git中添加以下钩子,可以将此配置为在发布 ``git am`` 时自动执行: 50*6ba8a96fSWu XiangCheng 51*6ba8a96fSWu XiangCheng.. code-block:: none 52*6ba8a96fSWu XiangCheng 53*6ba8a96fSWu XiangCheng $ git config am.messageid true 54*6ba8a96fSWu XiangCheng $ cat >.git/hooks/applypatch-msg <<'EOF' 55*6ba8a96fSWu XiangCheng #!/bin/sh 56*6ba8a96fSWu XiangCheng . git-sh-setup 57*6ba8a96fSWu XiangCheng perl -pi -e 's|^Message-Id:\s*<?([^>]+)>?$|Link: https://lore.kernel.org/r/$1|g;' "$1" 58*6ba8a96fSWu XiangCheng test -x "$GIT_DIR/hooks/commit-msg" && 59*6ba8a96fSWu XiangCheng exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} 60*6ba8a96fSWu XiangCheng : 61*6ba8a96fSWu XiangCheng EOF 62*6ba8a96fSWu XiangCheng $ chmod a+x .git/hooks/applypatch-msg 63