In case anyone is reading this and is merely looking for "local first git for teams, without the hell of sharing patches via email", the solution to this is to establish an empty repository (git init --bare --shared=group) in any mountable shared storage you have, and then setting that repository as the remote for your local branches.