-
1. Pričetek
- 1.1 O nadzoru različic
- 1.2 Kratka zgodovina Git-a
- 1.3 Osnove Git
- 1.4 The Command Line
- 1.5 Git namesitev
- 1.6 Prva namestitev Git-a
- 1.7 Pridobitev pomoči
- 1.8 Povzetek
-
2. Osnove Git
- 2.1 Pridobitev repozitorija Git
- 2.2 Snemanje sprememb repozitorija
- 2.3 Pregled zgodovine pošiljanja
- 2.4 Razveljavljanje stvari
- 2.5 Delo z daljavami
- 2.6 Označevanje
- 2.7 Git aliasi
- 2.8 Povzetek
-
3. Veje Git
- 3.1 Veje na kratko
- 3.2 Osnove vej in združevanja
- 3.3 Upravljanje vej
- 3.4 Potek dela z vejami
- 3.5 Oddaljene veje
- 3.6 Ponovno baziranje (rebasing)
- 3.7 Povzetek
-
4. Git na strežniku
- 4.1 Protokoli
- 4.2 Pridobiti Git na strežnik
- 4.3 Generiranje vaših javnih ključev SSH
- 4.4 Nastavitev strežnika
- 4.5 Prikriti proces Git
- 4.6 Pametni HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Tretje osebne opcije gostovanja
- 4.10 Povzetek
-
5. Distribuirani Git
- 5.1 Distribuirani poteki dela
- 5.2 Prispevanje projektu
- 5.3 Vzdrževanje projekta
- 5.4 Povzetek
-
6. GitHub
-
7. Orodja Git
- 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 Debugging with Git
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 Povzetek
-
8. Prilagoditev Git-a
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git kljuke
- 8.4 An Example Git-Enforced Policy
- 8.5 Povzetek
-
9. Git in drugi sistemi
- 9.1 Git kot klient
- 9.2 Migracija na Git
- 9.3 Povzetek
-
10. Notranjost Git-a
- 10.1 Napeljava in porcelan
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Povzetek
-
A1. Appendix A: Git v drugih okoljih
- A1.1 Grafični vmesniki
- A1.2 Git v Visual Studiu
- A1.3 Git v Eclipse
- A1.4 Git V Bash-u
- A1.5 Git v Zsh
- A1.6 Git v Powershell-u
- A1.7 Povzetek
-
A2. Appendix B: Vključevanje Git-a v vašo aplikacijo
- A2.1 Git v ukazni vrstici
- 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 strežniku - GitWeb
GitWeb
Sedaj, ko imate osnovno bralno/pisalni in samo-bralni dostop do vašega projekta, boste morda želeli nastaviti ensotaven spletno osnovani vizualizator. Git prihaja s skripto CGI imenovano GitWeb, ki je včasih uporabljena za to.

Če želite preveriti, kako bi GitWeb izgledal za vaš projekt, Git prihaja z ukazom za pogon začasne instance, če imate lahki strežnik na vašem sistemu, kot je lighttpd
ali webrick
.
Na Linux napravah, lighttpd
je pogostokrat nameščen, tako da ga lahko morda dobite, da poženete git instaweb
v vašem projektnem direktoriju.
Če poganjate Mac, prihaja Leopard prenameščen z Ruby-jem, tako da webrick
je lahko vaša najboljša stava.
Da poženete instaweb
z ne-lighttpd handler-jem, ga lahko poeženete z opcijo --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]
Da poženete strežnik HTTPD na portu 1234 in nato avtomatično poženete spletni brskalnik, da se odpre na tej strani.
Je precej enostavno na vašem koncu.
Ko končate in želite zapreti strežnik, lahko poženete enak ukaz z opcijo --stop
:
$ git instaweb --httpd=webrick --stop
Če želite pognati spletni vmesnik na strežniku ves čas za vso vašo ekipo ali za odprtokodni projekt, ki ga gostujete, boste morali nastaviti skripto CGI, ki je servirana na vašem običajnem spletnem strežniku.
Nekatere Linux distribucije imajo paket gitweb
, ki ga morda lahko namestite preko apt
ali yum
, tako da morda želite poskusiti to najprej.
Šli bomo skozi namestitev GitWeb ročno zelo hitro.
Najprej morate dobiti Git izvorno kodo, s katero GitWeb prihaja in generirati skripto CGI po meri:
$ 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/
Bodite pozorni, ker morate povedati ukazu, kje najti vaše Git repozitorije s spremenljivko GITWEB_PROJECTROOT
.
Sedaj morate narediti Apache, da uporablja CGI za to skripto za katero lahko dodate 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>
Ponovno, GitWeb je lahko serviran s katerimkoli CGI ali Perl zmožnim spletnim strežnikom; če raje uporabljate kaj drugega, ga ne bi smelo biti pretežko nastaviti.
Na tej točki, bi morali videti http://gitserver/
za ogled vaših repozitorijev na spletu.