A submodule is a foreign repository that is embedded within a dedicated subdirectory of the repositories tree.