Git gyorstalpaló

> Mi is az a Git?

> Telepítés

> Használat (alapok)

Központi ssh repository telepítése (elsősorban az ssh Git Szerver üzemeltetőjének szól)

Alább, hogy hogy kell Gitosist telepíteni egy Szerver nevű Linux/Unix gépre. Forrás: itt, és itt. Ehhez kell egy telepített Git, lásd feljebb. Ezután telepíteni kell a Gitosis csomagot, nálam otthon Synapticból ment, ha mégsem menne automatikusan, akkor először python setup tool, majd giten keresztül lehúzzuk a Gitosist:

$ sudo apt-get install python-setuptools  
$ git clone git://eagain.net/gitosis.git   valamilyen (pl. tmp) könyvtárban
$ cd gitosis  
$ sudo python setup.py install  

Ezután létre kell hozni egy usert a Szerveren. Ehhez a userhez senki sem tud majd belépni, kizárólag a Gitet fogja kiszolgálni. A rendszergazda biztos tudja ha esetleg valamit máshogy kell csinálni az alábbiakban, én a leírások és a saját naív elképzelésem alapján ezt gondoltam (a usert projfelh-nek hívjuk majd):

sudo adduser \
 --system \
 --shell /bin/sh \
 --gecos 'git version control' \
 --group \
 --disabled-password \
 --home /home/projfelh \
 projfelh

Ezután a projfelh adminisztrátora generál egy rsa kulcspárt aminek a publikus részét a Szerveren meg kell mondani a Gitosis-nak:

$ sudo -H -u projfelh gitosis-init < id_rsa.pub

Végül kicsit gatyába kell rázni valami engedélyeket (ez nálam otthon egy symlink, és nem is volt szükség erre a lépésre...) :

$ sudo chmod 755 /home/sztoch/nokinasn/repositories/gitosis-admin.git/hooks/post-update

Ha minden jól ment, idáig tart az a rész, amihez a rendszergazda segítségére van szükség. Ezután a projfelh adminisztrátora tudja majd adminisztrálni a központi adatbázist. Ez természetesen a git protokollon keresztül fog menni, a projfelh@valami.szerver.hu:gitosis-admin.git repón keresztül (lásd használat). Természetesen egyéb projektekhez egyéb git felhasználót lehet létrehozni, melyeket más adminisztrálhat.

Új proba project repójának létrehozása:

[group proba]
members = email@elso email@masodik ...
writable = proba

a gitosis.conf fileban. Itt figyelni kell, hogy az email címek megegyezzenek az rsa publikus kulcsban szereplőkkel. A keydir könyvtárba pedig be kell másolni a résztvevők publikus kulcsát (email@cím.pub néven, figyeljünk az extra .pub-ra a végén!). A proba projectet csak olvashatják az alábbi emberek:

[group proba_csak_olv]
members = email@elso.csak.olv email@masodik.csak.olv ...
readonly = proba

A writable és a readonly mögé tetszőleges számú repó is felsorolható.

members listákat rövidíteni is lehet:

[group rovid]
members = email@elso.a.rovidben email@masodik.a.rovidben ...

Ezek után a további members részekben a @rovid alias behelyettesíti a megfelelő emaileket.