Balíček gitosis se nachází až v Debian Lenny. Také jsem jej nenašel v backports.org pro Etch. Použil jsem tedy jednoduchou instalaci ze zdrojů:
#aptitude install python python-setuptools sudo#cd /usr/local/src#git clone git://eagain.net/gitosis#cd gitosis#python setup.py install --prefix=/usr/local
Po instalaci je třeba zkontrolovat práva souboru /usr/local/lib/python2.4/site-packages/gitosis-0.2-py2.4.egg/gitosis/templates/admin/hooks/post-update.  Tento soubor se může nacházet v jiném adresáři podle vašeho konkrétního systému a podle toho jaký jste zvolili --prefix.  V mém případě práva na tomto souboru byla špatná, takže jsem je opravil.
# chmod 0755 /usr/local/lib/python2.4/site-packages/gitosis-0.2-py2.4.egg/gitosis/templates/admin/hooks/post-updateKdyž máme gitosis nainstalovaný, přikročíme k vytvoření uživatele pro repositář. Můžeme použít obvyklé jméno git neobo jakékoliv jiné. Můžeme mít také více účtů.
# adduser --system --home /home/git --gecos 'git repository' --group --disabled-password --shell /bin/sh gitProtože k repositáři budeme přistupovat přes ssh klíč, nahrajem si jej na server.
notebook:$ scp ~/.ssh/id_rsa.pub radek@server.cz:server:#sudo -H -u git gitosis-init </radek/id_rsa.pubInitialized empty Git repository in ./ Initialized empty Git repository in ./
S gitosis se pracuje pomocí gitu. Tedy naklonujeme si gitosis-admin a v té provádíme změny které natlačíme spátky na server. Začneme tedy klonováním.
notebook:$ git clone git@SERVER:gitosis-admin.gitNyní můžeme přidat dalšího uživatele.  To učiníme tak že do adresáře gitosis-admin/keydir přidáme jeho veřejný ssh klíč.
notebook:$cd gitosis-adminnotebook:$cp karel_rsa.pub keydirnotebook:$git add keydir/karel_rsa.pubnotebook:$git commitnotebook:$git push
Vytvoření nového projektu sestává ze dvou kroků.  V prvním jej zapíšeme do konfigurace a přidělíme přístup uživatelům.  Konfigurace je v souboru gitosis.conf adresáře gitosis-admin.  Pro nový projekt pojmenovaný pokus v něm vytvoříme sekci.
[group pokus] writable = pokus members = karel@orthrank ja@notebook
Změny zatlačíme na server
notebook:$ git commit && git pushNyní si vytvoříme repositář projektu a ten také zatlačíme na server.
notebook:#mkdir pokusnotebook:#cd pokusnotebook:#git initnotebook:#git remote add myserver git@server.example.com:pokus.gitnotebook:#vi READMEnotebook:#git commit ...notebook:#git push myserver master:refs/heads/master