Como o git é distribuído, você não precisa necessariamente ter o repositório em algum lugar diferente do dev ou www.
Uma boa prática é usar o dev como sua árvore de trabalho, criar tags e enviar essas tags para www.
Com o git, seu fluxo de trabalho ideal deve ser relativamente mais freqüente, commits menores - você sempre pode fazer o rebase para limpar seu histórico de commit antes de enviá-lo para um repositório central / www.
Em uma organização maior, você teria um 'repositório de registros' que seria gerenciado por seu (s) engenheiro (s) de lançamento. Para uma equipe pequena / unipessoal, você saberá quando quiser enviar o seu repo para www.
Não faça da www a sua árvore de trabalho. Todas as suas alterações devem vir do repo. Isso garantirá que seu servidor de produção esteja sempre em um estado conhecido.