Topics ▾ Version ▾ gitmodules last updated in 2.12.2




The .gitmodules file, located in the top-level directory of a git working tree, is a text file with a syntax matching the requirements of git-config(1).

The file contains one subsection per submodule, and the subsection value is the name of the submodule. Each submodule section also contains the following required keys:


Defines the path, relative to the top-level directory of the git working tree, where the submodule is expected to be checked out. The path name must not end with a /. All submodule paths must be unique within the .gitmodules file.


Defines an url from where the submodule repository can be cloned.


Consider the following .gitmodules file:

	[submodule "libfoo"]
		path = include/foo
		url = git://
	[submodule "libbar"]
		path = include/bar
		url = git://

This defines two submodules, libfoo and libbar. These are expected to be checked out in the paths include/foo and include/bar, and for both submodules an url is specified which can be used for cloning the submodules.


Documentation by Lars Hjemli <>


Part of the git(1) suite