concept of bare shared repository in git
It needs to be a bare repo because a not bare repo would have a working tree (meaning a specific version of that repo checked out and with files visible). Each time you are pushing to a non-bare repo, you have no guarantee that its working tree will reflect what you are pushing, since by … Read more