Para aqueles que procuram simplesmente negar todos os arquivos e diretórios "ocultos" em uma distribuição Linux (geralmente todos os arquivos que começam com "."), Eis o que funciona no Apache 2.4 quando colocado no contexto conf do servidor:
<FilesMatch "^\.(.*)$">
Require all denied
</FilesMatch>
<DirectoryMatch "/\.(.*)">
Require all denied
</DirectoryMatch>
E aqui está o estilo antigo do Apache 2.2 (o mesmo regex, apenas diretivas de autenticação diferentes):
<FilesMatch "^\.(.*)$">
Order deny,allow
Deny from all
</FilesMatch>
<DirectoryMatch "/\.(.*)">
Order deny,allow
Deny from all
</DirectoryMatch>
Então você não precisa se preocupar .gitou .svnespecificamente. Isso também corresponderia a coisas como .htaccesse .htpasswdinerentemente.
Pessoalmente, eu gosto de emitir 403s para essas solicitações em vez de 404s, mas você pode facilmente usar um RewriteRule em vez de negação de autenticação, assim:
<FilesMatch "^\.(.*)$">
RewriteRule "^(.*)$" - [R=404,L]
</FilesMatch>
<DirectoryMatch "/\.(.*)">
RewriteRule "^(.*)$" - [R=404,L]
</DirectoryMatch>