Doesn't that only work for single user setups, since a `git push` run from some else's machine could concurrently modify that repo.git directory?
Given all users can share a user account on a server, it will behave exactly like you expect it to. Again, that's a core Git feature. Additionally, AFAIK Git has its own locking management. Also look up the `--shared` flag. `man git-init` is very helpful.