-
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
2.1 Osnove Git - Pridobitev repozitorija Git
Če lahko preberete samo eno poglavje, da pričnete z Git-om, je to to. To poglavje pokriva vsak osnovni ukaz, ki ga potrebujete izvesti za glavnino stvari, za katere boste eventuelno porabili čas pri opravljanju z Git-om. Do konca tega poglavja bi morali biti zmožni nastaviti in inicializirati repozitorij, začeti in ustaviti sledenje datotek, jih dati v vmesno fazo in poslati spremembe. Pokazali vam bomo tudi, kako nastaviti Git, da ignorira določene datoteke in vzorce datotek, kako razveljaviti napake hitro in enostavno, kako brskati po zgodovini vašega projekta in pogledati spremembe med pošiljanji ter kako potisniti in povleci iz oddaljenega repozitorija.
Pridobitev repozitorija Git
Projekt Git lahko dobite z dvema glavnima pristopoma. Prvi vzame obstoječi projekt ali direktorij in ga uvozi v Git. Drugi klonira obstoječi Git repozitorij iz drugega strežnika.
Inicializacija repozitorija v obstoječi direktorij
Če pričenjate slediti obstoječi projekt v Git-u, boste morali iti v direktorij projekta in vpisati
$ git init
To ustvari nov poddirektorij imenovan .git
, ki vsebuje vse vaše potrebne datoteke repozitorija - skelet Git repozitorija.
Na tej točki ni še nič sledeno v vašem projektu.
(Glejte [ch10-git-internals] za več informacij o točno, katere datoteke so vsebovane v direktoriju .git
, ki ste ga ravno ustvarili.)
Če želite začeti kontrolo verzij obstoječih datotek (v nasprotnem praznemu direktoriju), bi morali verjetno začeti slediti tem datotekam in narediti začetno pošiljanje.
To lahko naredite z nekaj git add
ukazi, ki določajo datoteke, katerim želite slediti, ter nato git commit
:
$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'
Šli bomo skozi, kaj te ukazi naredijo v samo minuti. Na tej točki, imate Git repozitorij s sledenimi datotekami in začetnim pošiljanjem.
Kloniranje obstoječega repozitorija
Če želite dobiti kopijo obstoječega repozitorija Git - na primer projekt, kateremu želite prispevati - je ukaz, ki ga potrebujete git clone
.
Če ste že seznanjeni z ostalimi VCS sistemi, kot je Subversion, boste opazili, da je ukaz "clone" in ne "checkout".
To je pomembna razlika - namesto, da dobite samo delovno kopijo, Git dobi polno kopijo od skoraj vseh podatkov, ki jih strežnik ima.
Vsaka verzija vsake datoteke za zgodovino projekta je potegnjena privzeto, ko poženete git clone
.
V bistvu, če se vaš disk strežnika pokvari, lahko pogosto uporabite skoraj katerikoli klon katerega klienta, da nastavite strežnik nazaj v stanje, v katerem je bil, ko je bil kloniran (mora boste izgubili nekatere kovlje strežniške strani in podobno, vendar vsi podatki v verzijah bi bili tam - glejte Pridobiti Git na strežnik za več podrobnosti).
Repozitorij klonirate z git clone [url]
.
Na primer, če želite klonirati Git povezano knjižnico imenovano libgit2, lahko to naredite sledeče:
$ git clone https://github.com/libgit2/libgit2
To ustvari direktorij imenovan “libgit2”, inicializira .git
direktorij znotraj njega, potegne vse podatke za ta repozitorij in preveri delovno kopijo zadnje verzije.
Če greste v novi libgit2
direktorij, boste tam videli datoteke projekta, pripravljene za delo ali uporabo.
Če želite klonirati repozitorij v direktorij imenovan nekaj drugega kot “libgit2”, lahko to določite kot naslednjo opcijo ukazne vrstice:
$ git clone https://github.com/libgit2/libgit2 mylibgit
Ukaz naredi enako stvar kot prejšnji, vendar ciljni direktorij je imenovan mylibgit
.
Git ima število različnih prenosnih protokolov, ki jih lahko uporabite.
Prejšnji primer uporablja https://
protokol, vendar lahko pogledate tudi git://
ali user@server:path/to/repo.git
, ki uporablja SSH prenosni protokol.
Pridobiti Git na strežnik vam bo predstavil vse opcije, ki so na voljo in jih lahko strežnik nastavi za dostopanje vašega Git repozitorija ter prednosti in slabosti vsake.