I had pretty frustrating time with my Git repo. Having setup a git group and adding the appropriate users, I found myself still having trouble when multiple people push to the repo.
Turns out Git doesn’t keep file metadata (including permissions and ownership).
How do you solve this issue? Git provides a hooks directory (.git/hooks) where you can plop down scripts that fire on repo events. Here you can change the appropriate files back to their original permissions.