A git repository-k lokális (file) és hálózati alapon egyaránt számos módon érhetőek el. A különbség (és egyben a választás alapja) nemcsak ebben, hanem a biztonságban és adminisztrálhatóságban is fontos.
Fájl alapú megosztás
- Hálózat: nincs
- Biztonság: fájlszintű jogosultság
- Adminisztráció: projektenként inicializálni kell
Git daemon
- Hálózat: gyors git protokoll
- Biztonság: gyenge, olvasni alapból lehet, írást lehet engedélyezni, de user nélkül (nincs autentikáció)
- Adminisztráció: projektenkénti beállítás
Egyszerű SSH szerver
- Hálózat: ssh
- Biztonság: fájlszintű jogosultság
- Adminisztráció: felhasználót létre kell hozni a szerveren,ssh accountot projektenként kettőt érdemes inicializálni (olvasáshoz és íráshoz)
SSH szerver alatt git-shell
Az ssh szerver alapú megközeletítés egy fokkal jobb verziója. Különbség a belépett user shell környezete: /usr/bin/git-shell, amely csak a git parancsokat engedi használni.
- Hálózat: ssh
- Biztonság: fájlszintű jogosultság
- Adminisztráció: projektenkénti beállítás
Gitosis
Nagyon jó távoli user és tároló kezelés (tehát nem a szerveren).
- Hálózat: ssh
- Biztonság: gitosis-config fájl alapján
- Adminisztráció: nincs szerveroldali inicializáció, csak config fájl, amely git tárolóban kezelhető távolról
Gitolite
Talán a legjobb megoldás: nagyon jó távoli user és tároló kezelés (tehát nem a szerveren).
- Hálózat: ssh
- Biztonság: config fájl alapján
- Adminisztráció: nincs szerveroldali inicializáció, csak config fájl, amely git tárolóban kezelhető távolról
Apache http
- Hálózat: http
- Biztonság: htpasswd
- Adminisztráció: projektenkénti inicializáció
Apache + gitweb
Ugyanaz, mint Apache+http, csak van egy webes nézete.
- Hálózat: http
- Biztonság: htpasswd
- Adminisztráció: projektenkénti inicializáció