配置 Git¶
本章描述了維護者級別的 Git 配置。
拉取請求中使用的標記分支(參見建立拉取請求)應該使用開發者的公共 GPG 金鑰進行簽名。帶簽名的標籤可以透過將 -u <key-id> 傳遞給 git tag 來建立。然而,由於你通常會為專案使用相同的金鑰,你可以在配置中設定它,並使用 -s 標誌。要設定預設的 key-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