changing the default umask on the entire server is not necessary to fix this problem. Git already has support for exactly this use case---it will set the file permissions correctly, we just need to specify that this is a shared repository.
(I missed the "core" in my previous e-mail, and I just noticed that my correction went only to Austin).
core.sharedRepository
When group (or true), the repository is made shareable between
several users in a group (making sure all the files and objects are
group-writable).
When all (or world or everybody), the repository
will be readable by all users, additionally to being
group-shareable.
When umask (or false), git will use permissions
reported by umask(2).
When 0xxx, where 0xxx is an octal number,
files in the repository will have this mode value. 0xxx will
override user’s umask value (whereas the other options will only
override requested parts of the user’s umask value).
Examples: 0660
will make the repo read/write-able for the owner and group, but
inaccessible to others (equivalent to group unless umask is e.g.
0022). 0640 is a repository that is group-readable but not
group-writable. See git-init(1). False by default.