Git/Setting up a Server
< Git
A Git server is not supposed to host any uncommitted file, so its repositories should be initialized with "bare":
git init --bare /repositories/repo1
Now its files are encrypted and can't be read as flat files from the server.
The distributed repositories can then be initialized with git clone
, updated with git pull
, and submitted to the server with git push
.
To avoid any user to erase the server branches when pushing, the branches can be locked, forcing the users to create some pull requests with their changes to validate before merging.