Git zmienia uprawnienia mojego pliku, gdy pcham na serwer

Używam git do zarządzania witryną na serwerze.

Mam pokazane poniżej lokalne repozytorium

local@workstation:myapp$ ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}'
total 16
755 drwxr-xr-x@ 18 thomas  staff   612 Jun 13 15:35 application
755 drwxr-xr-x@ 11 thomas  staff   374 Jun 12 16:25 assets
644 -rw-r--r--@  1 thomas  staff  6399 Jun 22 11:45 index.php
755 drwxr-xr-x@ 10 thomas  staff   340 May 14 15:22 system

Mam nagie repozytorium na serwerze, który używapost-receive wskazać repo przed apache. Apachepublic zawartość folderów jest poniżej - nie nagie repozytorium.

root@server:/srv/public/myapp# ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));if(k)printf("%0o ",k);print}'
total 20
700 drwx------ 15 root root 4096 Jun 27 11:31 application
700 drwx------ 10 root root 4096 Jun 27 11:31 assets
600 -rw-------  1 root root 6399 Jun 27 11:31 index.php
700 drwx------  8 root root 4096 Jun 27 11:31 system

Powoduje to chaos dla mojego kodu na serwerze WWW.

Jak mogę to naprawić? Używam gitolite, jeśli to robi różnicę.

plik konfiguracyjny serwera git

[core]
        repositoryformatversion = 0
        filemode = true
        bare = true

questionAnswers(1)

yourAnswerToTheQuestion