-
1. Úvod
- 1.1 Správa verzí
- 1.2 Stručná historie systému Git
- 1.3 Základy systému Git
- 1.4 Instalace systému Git
- 1.5 První nastavení systému Git
- 1.6 Kde hledat pomoc
- 1.7 Shrnutí
-
2. Základy práce se systémem Git
- 2.1 Získání repozitáře Git
- 2.2 Nahrávání změn do repozitáře
- 2.3 Zobrazení historie revizí
- 2.4 Rušení změn
- 2.5 Práce se vzdálenými repozitáři
- 2.6 Značky
- 2.7 Tipy a triky
- 2.8 Shrnutí
-
3. Větve v systému Git
- 3.1 Co je to větev
- 3.2 Základy větvení a slučování
- 3.3 Správa větví
- 3.4 Možnosti při práci s větvemi
- 3.5 Vzdálené větve
- 3.6 Přeskládání
- 3.7 Shrnutí
-
4. Git na serveru
- 4.1 Protokoly
- 4.2 Jak umístit Git na server
- 4.3 Vygenerování veřejného SSH klíče
- 4.4 Nastavení serveru
- 4.5 Veřejný přístup
- 4.6 GitWeb
- 4.7 Gitosis
- 4.8 Gitolite
- 4.9 Démon Git
- 4.10 Hostování projektů Git
- 4.11 Shrnutí
-
5. Distribuovaný charakter systému Git
- 5.1 Distribuované pracovní postupy
- 5.2 Přispívání do projektu
- 5.3 Správa projektu
- 5.4 Shrnutí
-
6. Nástroje systému Git
- 6.1 Výběr revize
- 6.2 Interaktivní příprava k zapsání
- 6.3 Odložení
- 6.4 Přepis historie
- 6.5 Ladění v systému Git
- 6.6 Submoduly
- 6.7 Začlenění podstromu
- 6.8 Shrnutí
-
7. Individuální přizpůsobení systému Git
-
8. Git a ostatní systémy
- 8.1 Git a Subversion
- 8.2 Přechod na systém Git
- 8.3 Shrnutí
-
9. Git pod pokličkou
- 9.1 Nízkoúrovňové a vysokoúrovňové příkazy
- 9.2 Objekty Git
- 9.3 Reference Git
- 9.4 Balíčkové soubory
- 9.5 Refspec
- 9.6 Přenosové protokoly
- 9.7 Správa a obnova dat
- 9.8 Shrnutí
- 9.9 Poznámky k překladu
4.6 Git na serveru - GitWeb
GitWeb
Nyní, když máte ke svému projektu nastavena základní oprávnění pro čtení/zápis a pouze pro čtení, možná budete chtít nastavit jednoduchou online vizualizaci. Git vám nabízí CGI skript s názvem GitWeb, který slouží k tomuto účelu. Jak GitWeb funguje, na to se můžete podívat např. na stránkách http://git.kernel.org (viz obrázek 4-1).

Figure 4-1. Online uživatelské rozhraní GitWeb
Pokud vás zajímá, jak by GitWeb vypadal pro váš projekt, nabízí Git příkaz, jímž lze spustit dočasnou instanci. V systému je třeba mít lehký server typu lighttpd nebo webrick. V počítačích se systémem Linux je často nainstalován lighttpd. Spustit ho lze zadáním příkazu git instaweb v adresáři vašeho projektu. Pokud používáte OS Mac, v systému Leopard je předinstalován jazyk Ruby, a proto pro vás bude nejlepší variantou zřejmě server webrick. Chcete-li spustit instaweb s jiným správcem než lighttpd, použijte parametr --httpd:
$ git instaweb --httpd=webrick
[2009-02-21 10:02:21] INFO WEBrick 1.3.1
[2009-02-21 10:02:21] INFO ruby 1.8.6 (2008-03-03) [universal-darwin9.0]
Tím spustíte HTTPD server na portu 1234 a automaticky se spustí webový prohlížeč, který otevře tuto stránku. Není to nic obtížného. Až skončíte a budete chtít server vypnout, spusťte stejný příkaz s parametrem --stop:
$ git instaweb --httpd=webrick --stop
Chcete-li trvale spustit webové rozhraní na serveru pro svůj tým nebo nebo pro open-source projekt, který hostujete, musíte nastavit CGI skript tak, aby byl obsluhován vaším běžným webovým serverem. Některé linuxové distribuce mají balíček gitweb, který by mělo být možné nainstalovat pomocí nástrojů apt nebo yum. Zkuste proto tuto možnost jako první. Ruční instalaci skriptu probereme velmi rychle. Nejprve je třeba získat zdrojový kód systému Git, s nímž je GitWeb distribuován, a vygenerovat uživatelský CGI skript:
$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/opt/git" \
prefix=/usr gitweb
$ sudo cp -Rf gitweb /var/www/
Všimněte si, že musíte příkazu pomocí proměnné GITWEB_PROJECTROOT sdělit, kde najde repozitáře Git. Nyní musíte zajistit, aby server Apache používal CGI pro skript, pro který můžete přidat VirtualHost:
<VirtualHost *:80>
ServerName gitserver
DocumentRoot /var/www/gitweb
<Directory /var/www/gitweb>
Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi
</Directory>
</VirtualHost>
Také GitWeb může být obsluhován jakýmkoli webovým serverem umožňujícím CGI. Chcete-li používat jakýkoli jiný server, nemělo by být nastavení obtížné. V tomto okamžiku byste měli být schopni prohlížet své repozitáře online na adrese http://gitserver/ a používat http://git.gitserver ke klonování a vyzvedávání repozitářů prostřednictvím protokolu HTTP.