Isso é melhor resolvido com a configuração das permissões em todos os diretórios. Se você definir o bit 'fixo' do grupo, todos os arquivos no diretório manterão o grupo do diretório quando os membros do grupo os modificarem. Portanto, para definir isso rapidamente no site de teste, faça o seguinte:
chmod g+ws [directory]
find [directory] -type d -exec chmod g+ws {} \;
find [directory] -type f -exec chmod g+w {} \;
O primeiro comando define a gravação e os bits adesivos para o grupo no diretório de nível superior do site. O segundo, em seguida, encontra todos os subdiretórios da pasta de nível superior e faz o mesmo. O terceiro, então, garante que o grupo tenha acesso de gravação a todos os arquivos.
Quando você cria inicialmente o repositório git, é possível fazer isso automaticamente usando a opção --shared
:
git create --shared [directory]