Working with Git 2.21.0 on Linux: The git-add(1) man page says: "The optional configuration variable core.excludesFile indicates a path to a file containing patterns of file names to exclude from git-add" But if I do this: $ echo "docs/themes/*/.git >> .gitexcludes $ git config core.excludeFiles .gitexcludes $ git add docs warning: adding embedded git repository: docs/themes/foo It seems to me that this goes against what the git-add(1) man page says. A workaround I found on stackoverflow is to add any file within the target directory: $ git add docs/themes/foo/README And then add everything: $ git add docs In which case the contents of .gitexcludes is honoured. But that seems like a hack. Am I experiencing the intended result of Git's exclude function? If so, I'll happily submit a patch to the man page to clarify this behaviour. If not, I guess I'm submitting a bug report here. Thanks for all the amazing work. Cheers.