Using a shared repo (core.sharedRepository=group) we ran into some issues with git creating read-only (permissions 444) files. No matter which git config items I twiddle there a
Those files are part of the object database, which really is read-only. No matter what you do with Git, you can't change the contents of a specific object once it has been created.
Note that if you back out a commit and create a new one in its place, you'll be creating a new object with a new identifier and new contents. Git will eventually perform its garbage collection to remove the old, unreferenced object(s).