In build upstream bare repo (webserver:/usr/local/src/web/example.com/www/), run:
	# chown root:srv .
	# chmod g+ws .
	# git init --bare --shared=group
	# git config receive.denyCurrentBranch updateInstead
	# git config receive.denyNonFastForwards false
	?(# git config core.sharedRepository true)    # if needed because of missing init option

Set upstream and push branches to new bare repo, then run:
	# git worktree add /srv/prod/example.com/www master
	# git worktree add /srv/beta/example.com/www release
	# git worktree add /srv/dev/example.com/www dev

	# chmod -R g+w .
	# chmod g+w /srv/*/example.com/www


	# chown -R root:srv .
	# chmod -R g+swX .
	# chown root:srv /srv/prod/example.com/www
	# chmod g+swX /srv/prod/example.com/www
	# chown root:srv /srv/beta/example.com/www
	# chmod g+swX /srv/beta/example.com/www
	# chown root:srv /srv/dev/example.com/www
	# chmod g+swX /srv/dev/example.com/www
and add your user (on the server) to the srv group.