-
1. Pierwsze kroki
- 1.1 Wprowadzenie do kontroli wersji
- 1.2 Krótka historia Git
- 1.3 Podstawy Git
- 1.4 Linia poleceÅ
- 1.5 Instalacja Git
- 1.6 WstÄpna konfiguracja Git
- 1.7 Uzyskiwanie pomocy
- 1.8 Podsumowanie
-
2. Podstawy Gita
- 2.1 Pierwsze repozytorium Gita
- 2.2 Rejestrowanie zmian w repozytorium
- 2.3 PodglÄ d historii rewizji
- 2.4 Cofanie zmian
- 2.5 Praca ze zdalnym repozytorium
- 2.6 Tagowanie
- 2.7 Aliasy
- 2.8 Podsumowanie
-
3. GaÅÄzie Gita
-
4. Git na serwerze
- 4.1 ProtokoÅy
- 4.2 Uruchomienie Git na serwerze
- 4.3 Generowanie Twojego publicznego klucza SSH
- 4.4 Konfigurowanie serwera
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Inne opcje hostowania przez podmioty zewnÄtrzne
- 4.10 Podsumowanie
-
5. Rozproszony Git
-
6. GitHub
-
7. NarzÄdzia Gita
- 7.1 Wskazywanie rewizji
- 7.2 Interaktywne używanie przechowali
- 7.3 Schowek i czyszczenie
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Przepisywanie historii
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Debugowanie z Gitem
- 7.11 ModuÅy zależne
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 Podsumowanie
-
8. Dostosowywanie Gita
- 8.1 Konfiguracja Gita
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git i inne systemy
- 9.1 Git jako klient
- 9.2 Migracja do Gita
- 9.3 Podsumowanie
-
10. Mechanizmy wewnÄtrzne w Git
- 10.1 Komendy typu plumbing i porcelain
- 10.2 Obiekty Gita
- 10.3 Referencje w Git
- 10.4 Spakowane pliki (packfiles)
- 10.5 Refspec
- 10.6 ProtokoÅy transferu
- 10.7 Konserwacja i odzyskiwanie danych
- 10.8 Environment Variables
- 10.9 Podsumowanie
-
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 Summary
-
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.5 Git na serwerze - Git Daemon
Git Daemon
Teraz skonfigurujemy demona obsÅugujÄ cego repozytoria poprzez protokóŠ"Git". Jest to najczÄstszy wybór dla szybkiego, nieuwierzytelnionego dostÄpu do danych Git. PamiÄtaj, że ponieważ nie jest to usÅuga uwierzytelniona, wszystko co udostÄpniasz przez ten protokóŠjest publiczne w obrÄbie jego sieci.
JeÅli używasz projektu na serwerze poza firewallem, powinieneÅ stosowaÄ ten protokóŠjedynie do projektów, które sÄ publicznie widoczne dla Åwiata. JeÅli serwer, którego używasz znajduje siÄ wewnÄ trz sieci z firewallem, możesz również użyÄ go do projektów używanych przez wiele ludzi i komputerów (ciÄ gÅa integracja lub budowa serwera) majÄ cych dostÄp tylko do odczytu, jeÅli nie chcesz dodawaÄ klucza SSH dla każdego.
W każdym bÄ dÅŗ razie, protokóŠGit jest stosunkowo prosty w konfiguracji. Po prostu, musisz uruchomiÄ komendÄ poprzez demona:
$ git daemon --reuseaddr --base-path=/opt/git/ /opt/git/
--reuseaddr
pozwala serwerowi na restart bez koniecznoÅci czekania na zakoÅczenie starych poÅÄ
czeÅ, natomiast opcja --base-path
pozwala ludziom na klonowanie bez koniecznoÅci podawania caÅej Åcieżki, a Åcieżka na koÅcu mówi Git demonowi, które repozytorium majÄ
zostaÄ eksportowane. JeÅli używasz firewalla, bÄdziesz musiaÅ dodaÄ reguÅÄ otwarcia portu 9418 w oknie ustawieÅ swojego firewalla.
Możesz zdemonizowaÄ ten proces na wiele sposobów, w zależnoÅci od używanego systemu. Na maszynie z Ubuntu możesz użyÄ skryptu Upstart. W poniższym pliku:
/etc/event.d/local-git-daemon
zamieszczasz ten skrypt:
start on startup
stop on shutdown
exec /usr/bin/git daemon \
--user=git --group=git \
--reuseaddr \
--base-path=/opt/git/ \
/opt/git/
respawn
Ze wzglÄdów bezpieczeÅstwa, zaleca siÄ do korzystania z demona jako użytkownik z uprawnieniami tylko do odczytu dla danego repozytorium ā możesz Åatwo to zrobiÄ tworzÄ
c nowego użytkownika git-ro
i uruchamiajÄ
c demona jako ten użytkownik. Dla uproszczenia bÄdziemy używaÄ tego samego użytkownika git
, jako który dziaÅa git-shell
.
Kiedy zrestartujesz maszynÄ, Twój Git demon wystartuje automatycznie jeÅli byÅ wyÅÄ czony. Aby uruchomiÄ go bez restartu, możesz użyÄ polecenia:
$ initctl start local-git-daemon
Na innych systemach, możesz użyÄ xinetd
, skryptu w folderze systemowym sysvinit
, lub inaczej ā tak dÅugo jak bÄdziesz demonizowaÅ to polecenie i obserwowaÅ jakoÅ.
NastÄpnie musisz powiedzieÄ Gitowi, do których repozytoriów pozwoliÄ na nieuwierzytelniony dostÄp oparty na serwerze Git.
Możesz to zrobiÄ w każdym repozytorium poprzez utworzenie pliku o nazwie git-daemon-export-ok
.
$ cd /path/to/project.git
$ touch git-daemon-export-ok
ObecnoÅÄ tego pliku mówi Gitowi, że można udostÄpniaÄ ten projekt bez uwierzytelniania.