Merge branch 'pm/cvs-environ'
[git/mingw.git] / Documentation / gitmodules.txt
blob5daf750d1942f3b97844b4ef378daf9346cb46d4
1 gitmodules(5)
2 =============
4 NAME
5 ----
6 gitmodules - defining submodule properties
8 SYNOPSIS
9 --------
10 $GIT_WORK_DIR/.gitmodules
13 DESCRIPTION
14 -----------
16 The `.gitmodules` file, located in the top-level directory of a git
17 working tree, is a text file with a syntax matching the requirements
18 of linkgit:git-config[1].
20 The file contains one subsection per submodule, and the subsection value
21 is the name of the submodule. Each submodule section also contains the
22 following required keys:
24 submodule.<name>.path::
25         Defines the path, relative to the top-level directory of the git
26         working tree, where the submodule is expected to be checked out.
27         The path name must not end with a `/`. All submodule paths must
28         be unique within the .gitmodules file.
30 submodule.<name>.url::
31         Defines an url from where the submodule repository can be cloned.
33 submodule.<name>.update::
34         Defines what to do when the submodule is updated by the superproject.
35         If 'checkout' (the default), the new commit specified in the
36         superproject will be checked out in the submodule on a detached HEAD.
37         If 'rebase', the current branch of the submodule will be rebased onto
38         the commit specified in the superproject. If 'merge', the commit
39         specified in the superproject will be merged into the current branch
40         in the submodule.
41         This config option is overridden if 'git submodule update' is given
42         the '--merge' or '--rebase' options.
45 EXAMPLES
46 --------
48 Consider the following .gitmodules file:
50         [submodule "libfoo"]
51                 path = include/foo
52                 url = git://foo.com/git/lib.git
54         [submodule "libbar"]
55                 path = include/bar
56                 url = git://bar.com/git/lib.git
59 This defines two submodules, `libfoo` and `libbar`. These are expected to
60 be checked out in the paths 'include/foo' and 'include/bar', and for both
61 submodules an url is specified which can be used for cloning the submodules.
63 SEE ALSO
64 --------
65 linkgit:git-submodule[1] linkgit:git-config[1]
67 DOCUMENTATION
68 -------------
69 Documentation by Lars Hjemli <hjemli@gmail.com>
71 GIT
72 ---
73 Part of the linkgit:git[1] suite