find /var/www/tmp -mindepth 1 -maxdepth 1 ! -name ".*" -exec rm -r -- {} +
Irá encontrar arquivos no máximo (e mínimo) de profundidade 1 (ou seja, arquivos diretamente no diretório fornecido) que não inicie com um período e execute rm -r
com as correspondências como argumentos.
Experimente com um simples eco ou algo em primeiro lugar para não atirar no pé antes de entender exatamente como isso funciona para você.
Isso resolve sua dúvida sobre manter todos os arquivos ocultos. Seu tópico é um pouco diferente, mas o comando find é facilmente modificado para simplesmente ignorar arquivos chamados .gitignore
.