A lot of times, I see questions about the difference between an ordinary git repository and a bare git repository. So I decided to quickly made up picture of the actual difference, you know the kind of picture that sticks in your mind if you are the kind of person who forgets written text.
When to use it?
A git bare repository is useful when you want to collaborate with others but don’t want to use a hosting service like github. In such cases, you can setup a remote server that is only accessible by your internal team, create a bare repository over there, which acts as the central git server from which each of you can push and pull your code from your local boxes.