Git help says:
If the Git configuration variable clean.requireForce is not set to false, git clean will refuse to delete files or
directories unless given -f, -n or -i. Git will refuse to delete directories with .git sub directory or file unless a second
-f is given.
There is no point in keeping alive directories with .git sub directories, since when dealing with submodules there might be branches that add a new submodule that is not present in another one, and when building accross them, submodule garbage will be left out.