For the use case of "use different accounts / configs for different directories", git's config has includeIf.