-
1. Úvod
- 1.1 Správa verzí
- 1.2 Stručná historie systému Git
- 1.3 Základy systému Git
- 1.4 Příkazový řádek
- 1.5 Instalace systému Git
- 1.6 První nastavení systému Git
- 1.7 Získání nápovědy
- 1.8 Shrnutí
-
2. Základy práce se systémem Git
-
3. Větve v systému Git
- 3.1 Větve v kostce
- 3.2 Základy větvení a slučování
- 3.3 Správa větví
- 3.4 Postupy 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 Zprovoznění Gitu na serveru
- 4.3 Generování veřejného klíče SSH
- 4.4 Nastavení serveru
- 4.5 Démon Git
- 4.6 Chytrý HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Možnosti hostování u třetí strany
- 4.10 Shrnutí
-
5. Distribuovaný Git
- 5.1 Distribuované pracovní postupy
- 5.2 Přispívání do projektu
- 5.3 Správa projektu
- 5.4 Shrnutí
-
6. GitHub
-
7. Git Tools
- 7.1 Revision Selection
- 7.2 Interactive Staging
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Ladění v systému Git
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 Shrnutí
-
8. Customizing Git
- 8.1 Git Configuration
- 8.2 Atributy Git
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Shrnutí
-
9. Git a ostatní systémy
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Shrnutí
-
10. Git Internals
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Balíčkové soubory
- 10.5 The Refspec
- 10.6 Přenosové protokoly
- 10.7 Správa a obnova dat
- 10.8 Environment Variables
- 10.9 Shrnutí
-
A1. Appendix A: Git in Other Environments
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Eclipse
- A1.4 Git in Bash
- A1.5 Git in Zsh
- A1.6 Git in Powershell
- A1.7 Shrnutí
-
A2. Appendix B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
-
A3. Appendix C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
4.7 Git na serveru - GitWeb
GitWeb
Když už 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 zřídit jednoduché zobrazení formou webových stránek. Git se dodává s CGI scriptem nazvaným GitWeb, který se pro tento účel občas používá.
Pokud si chcete vyzkoušet, jak by GitWeb vypadal pro váš projekt, nabízí Git příkaz, jímž lze spustit dočasnou instanci — pokud máte v systému nainstalován lehký server jako lighttpd
nebo webrick
.
Na linuxových počítačích je lighttpd
často nainstalován, takže se vám ho možná v adresáři vašeho projektu povede spustit příkazem git instaweb
.
Pokud používáte Mac, dodává se systém Leopard s předinstalovaným Ruby, takže bude asi nejlepší zkusit webrick
.
Pokud chcete instaweb
spustit s něčím jiným než s lighttpd
, použijte při spuštění volbu --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 se spustí HTTPD server na portu 1234 a pak se automaticky spustí webový prohlížeč, který se otevře na odpovídající stránce.
Není to nic obtížného.
Až skončíte a budete chtít server vypnout, spusťte stejný příkaz s volbou --stop
:
$ git instaweb --httpd=webrick --stop
Chcete-li pro svůj tým nebo pro vámi hostovaný open-source projekt spustit webové rozhraní na serveru trvale, budete muset zprovoznit obsluhu tohoto CGI skriptu na vašem běžném webovém serveru.
V některých linuxových distribucích existuje balíček gitweb
, který by se měl dát nainstalovat pomocí apt
nebo yum
. Takže nejdříve zkuste tuto možnost.
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 přizpůsobený CGI skript:
$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/opt/git" prefix=/usr gitweb
SUBDIR gitweb
SUBDIR ../
make[2]: `GIT-VERSION-FILE' is up to date.
GEN gitweb.cgi
GEN static/gitweb.js
$ sudo cp -Rf gitweb /var/www/
Všimněte si, že příkazu musíte pomocí proměnné GITWEB_PROJECTROOT
sdělit, kde najde vaše gitové repozitáře.
Nyní musíte zajistit, aby Apache používal GitWeb jako CGI skript. Pro tento účel 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>
Zopakujme, že GitWeb může být obsluhován jakýmkoliv webovým serverem podporujícím CGI nebo Perl. Pokud chcete použít nějaký jiný, nemělo by být jeho nastavení obtížné.
V tomto okamžiku byste měli být schopni prohlížet své repozitáře online na adrese http://gitserver/
.