GNU Linux-libre 6.6.34-gnu
[releases.git] / Documentation / maintainer / configure-git.rst
1 Configuring Git
2 ===============
3
4 This chapter describes maintainer level git configuration.
5
6 Tagged branches used in pull requests (see
7 Documentation/maintainer/pull-requests.rst) should be signed with the
8 developers public GPG key. Signed tags can be created by passing
9 ``-u <key-id>`` to ``git tag``. However, since you would *usually* use the same
10 key for the project, you can set it in the configuration and use the ``-s``
11 flag. To set the default ``key-id`` use::
12
13         git config user.signingkey "keyname"
14
15 Alternatively, edit your ``.git/config`` or ``~/.gitconfig`` file by hand::
16
17         [user]
18                 name = Jane Developer
19                 email = jd@domain.org
20                 signingkey = jd@domain.org
21
22 You may need to tell ``git`` to use ``gpg2``::
23
24         [gpg]
25                 program = /path/to/gpg2
26
27 You may also like to tell ``gpg`` which ``tty`` to use (add to your shell
28 rc file)::
29
30         export GPG_TTY=$(tty)
31
32
33 Creating commit links to lore.kernel.org
34 ----------------------------------------
35
36 The web site https://lore.kernel.org is meant as a grand archive of all mail
37 list traffic concerning or influencing the kernel development. Storing archives
38 of patches here is a recommended practice, and when a maintainer applies a
39 patch to a subsystem tree, it is a good idea to provide a Link: tag with a
40 reference back to the lore archive so that people that browse the commit
41 history can find related discussions and rationale behind a certain change.
42 The link tag will look like this::
43
44     Link: https://lore.kernel.org/r/<message-id>
45
46 This can be configured to happen automatically any time you issue ``git am``
47 by adding the following hook into your git::
48
49         $ git config am.messageid true
50         $ cat >.git/hooks/applypatch-msg <<'EOF'
51         #!/bin/sh
52         . git-sh-setup
53         perl -pi -e 's|^Message-I[dD]:\s*<?([^>]+)>?$|Link: https://lore.kernel.org/r/$1|g;' "$1"
54         test -x "$GIT_DIR/hooks/commit-msg" &&
55                 exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
56         :
57         EOF
58         $ chmod a+x .git/hooks/applypatch-msg