проверьте права на файл внутри репозитория, т.к. это влияет. скорее всего в репозитории файл с правами только на чтение. Это должно решить проблему.
Так же можно написать отдельный скрипт, который выполняет "установку": делает git pull, настраивает права.
Еще вариант более инфраструктурный и сложный: настроить default ACL права. Суть в том, что вы задаёте для каталога такое поведение по правам, что любой новый файл в этом каталоге будет получать определенные права. В вашей ситуации это нужно сделать до появления файла main.php в каталоге.