-
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.5 Git na strežniku - Prikriti proces Git
Prikriti proces Git
Naslednje bomo nastavili prikriti proces (daemon), ki servira repozitorije preko “Git” protokola. To je pogosta izbira za hitro, neoverjen dostop do vaših Git podatkov. Pomnite, da ker ni overjena storitev, karkoli ponudite preko tega protokola je javno znotraj njegovega omrežja.
Če poganjate to na strežniku zunaj vašega požarnega zidu, bi moralo biti uporabljeno samo za projekte, ki so javno vidni svetu. Če je strežnik na katerem poganjate, znotraj vašega požarnega zidu, ga mogoče uporabljate za projekte, katerih veliko število ljudi ali računalnikov (stalna integracija ali zgrajeni strežniki) imajo samo bralni dostop, ko ne želite dodati ključa SSH za vsakega.
V kateremkoli primeru je protokol Git relativno enostavno nastaviti. V osnovi morate pognati ta ukaz v načinu prikritega procesa:
git daemon --reuseaddr --base-path=/opt/git/ /opt/git/
--reuseaddr
omogoča strežniku ponovni zagon brez čakanja, da stare povezave pretečejo, opcija --base-path
omogoča ljudem klonirati projekte brez določanja celotne poti in pot na koncu pove Git prikritemu procesu, da poišče rapozitorije za izvoz.
Če poganjate požarni zid, boste morali narediti vanj tudi luknjo na portu 9418 na napravi, kjer to nastavljate.
Ta proces lahko prikrijete na število načinov, odvisno od operacijskega sistema, na katerem poganjate. Na Ubuntu napravi lahko uporabite skripto Upstart. Torej v sledeči datoteki
/etc/event.d/local-git-daemon
you put this script:
start on startup
stop on shutdown
exec /usr/bin/git daemon \
--user=git --group=git \
--reuseaddr \
--base-path=/opt/git/ \
/opt/git/
respawn
Zaradi varnostnih razlogov je močno priporočljivo, da se ta prikriti proces poganja kot uporabnik s samo bralnimi pravicami repozitorijev - to lahko naredite enostavno z ustvarjanjem novega uporabnika git-ro in pogonom prikritega procesa kot le-tega.
Zaradi enostavnosti, ga bomo enostavno pognali kot istega git uporabnika, s katerim se poganja git-shell
.
Ko poženete vašo napravo, se vaš Git prikriti proces začne avtomatično in ponovno odzove, če pade. Da se ga ponovno zažene brez potrebnega ponovnega zagova, lahko poženete to:
initctl start local-git-daemon
Na drugih sistemih, boste morda želeli uporabiti xinetd
, skripto v vašem sistemu sysvinit
ali nekaj drugega - dokler dobite tisti ukaz kot prikriti proces in nekako pregledovan.
Naslednje morate povedati Git-u, katerim repozitorijem se dovoljuje neoverjen Git strežniško osnovani dostop. To lahko naredite v vsakem repozitoriju z izdelavo datoteke poimenovane ˙git-daemon-export-ok`.
$ cd /path/to/project.git
$ touch git-daemon-export-ok
Prisotnost te datoteke pove Git-u, da je v redu ponuditi ta projekt brez overjanja.