-
1. Začetek
- 1.1 O nadzoru različic
- 1.2 Kratka zgodovina Gita
- 1.3 Kaj je Git?
- 1.4 Ukazna vrstica
- 1.5 Namestitev Gita
- 1.6 Prva nastavitev Gita
- 1.7 Pridobivanje pomoči
- 1.8 Povzetek
-
2. Osnove Git
- 2.1 Pridobivanje repozitorija Git
- 2.2 Snemanje sprememb v repozitorij
- 2.3 Pregled zgodovine potrditev
- 2.4 Razveljavljanje stvari
- 2.5 Delo z daljavami
- 2.6 Označevanje
- 2.7 Aliasi Git
- 2.8 Povzetek
-
3. Veje Git
- 3.1 Veje na kratko
- 3.2 Osnove vej in združevanja
- 3.3 Upravljanje vej
- 3.4 Poteki dela z vejami
- 3.5 Oddaljene veje
- 3.6 Ponovno baziranje
- 3.7 Povzetek
-
4. Git na strežniku
- 4.1 Protokoli
- 4.2 Pridobitev Gita na strežniku
- 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 Možnosti gostovanja pri tretjih ponudnikih
- 4.10 Povzetek
-
5. Porazdeljeni Git
- 5.1 Porazdeljeni poteki dela
- 5.2 Prispevek k projektu
- 5.3 Vzdrževanje projekta
- 5.4 Povzetek
-
6. GitHub
-
7. Orodja Git
- 7.1 Izbira revizije
- 7.2 Interaktivno pripravljanje
- 7.3 Shranjevanje na varno (angl. stashing) in čiščenje
- 7.4 Podpisovanje vašega dela
- 7.5 Iskanje
- 7.6 Prepisovanje zgodovine
- 7.7 Demistifikacija ponastavitve
- 7.8 Napredno združevanje
- 7.9 Rerere
- 7.10 Razhroščevanje z Gitom
- 7.11 Podmoduli
- 7.12 Povezovanje v pakete
- 7.13 Zamenjava
- 7.14 Shramba poverilnic
- 7.15 Povzetek
-
8. Prilagoditev Gita
- 8.1 Konfiguracija Git
- 8.2 Atributi Git
- 8.3 Kljuke Git
- 8.4 Primer pravilnika, ki ga uveljavlja Git
- 8.5 Povzetek
-
9. Git in ostali sistemi
- 9.1 Git kot odjemalec
- 9.2 Migracija na Git
- 9.3 Povzetek
-
10. Notranjost Gita
- 10.1 Napeljava in keramika
- 10.2 Objekti Git
- 10.3 Reference Git
- 10.4 Packfiles (datoteke zmanjšanih podatkov)
- 10.5 Refspec
- 10.6 Protokoli prenosa
- 10.7 Vzdrževanje in obnovitev podatkov
- 10.8 Spremenljivke okolja
- 10.9 Povzetek
-
A1. Dodatek A: Git v drugih okoljih
- A1.1 Grafični vmesniki
- A1.2 Git v Visual Studio
- A1.3 Git v Visual Studio Code
- A1.4 Git v IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git v Sublime Text
- A1.6 Git v Bashu
- A1.7 Git v Zsh
- A1.8 Git v Powershellu
- A1.9 Povzetek
-
A2. Dodatek B: Vdelava Gita v vašo aplikacijo
- A2.1 Git v ukazni vrstici
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Dodatek C: Ukazi Git
- A3.1 Nastavitev in konfiguracija
- A3.2 Pridobivanje in ustvarjanje projektov
- A3.3 Osnove posnetkov
- A3.4 Veje in združevanje
- A3.5 Deljenje in posodabljanje projektov
- A3.6 Pregled in primerjava
- A3.7 Razhroščevanje
- A3.8 Popravljanje
- A3.9 E-pošta
- A3.10 Zunanji sistemi
- A3.11 Administracija
- A3.12 Orodja za sisteme napeljave
2.1 Osnove Git - Pridobivanje repozitorija Git
Če lahko preberete samo eno poglavje, da začnete z Gitom, je to to. To poglavje pokriva vsak osnovni ukaz, ki ga morate izvesti za glavnino stvari, za katere boste eventualno porabili čas pri opravljanju z Gitom. Do konca tega poglavja bi morali znati nastaviti in inicializirati repozitorij, začeti in ustaviti sledenje datotek, jih dati v področje priprave in potrditi spremembe. Pokazali vam bomo tudi, kako nastaviti Git, da ignorira določene datoteke in vzorce datotek, kako hitro in enostavno razveljaviti napake, kako brskati po zgodovini vašega projekta in pogledati spremembe med potrditvami ter kako potisniti in povleči iz oddaljenega repozitorija.
Pridobivanje repozitorija Git
Projekt Git običajno pridobite z dvema pristopoma:
-
Vzamete lahko lokalni direktorij, ki trenutno ni pod nadzorom različic, in ga spremenite v repozitorij Git, ali pa
-
Klonirate obstoječi repozitorij Git od drugod.
V kateremkoli od obeh primerov dobite na vaši lokalni napravi repozitorij Git, ki je pripravljen za delo.
Inicializacija repozitorija v obstoječem direktoriju
Če imate projektni direktorij, ki trenutno ni pod nadzorom različic, in ga želite začeti nadzirati z Gitom, morate najprej iti v ta projektni direktorij. Če tega še niste počeli, je ukaz odvisen od sistema, ki ga poganjate:
za Linux:
$ cd /home/user/my_project
za macOS:
$ cd /Users/user/my_project
za Windows:
$ cd C:/Users/user/my_project
in vpišete:
$ git init
To ustvari nov poddirektorij z imenom .git
, ki vsebuje vse vaše potrebne datoteke repozitorija — skelet repozitorija Git.
Na tej točki ni v vašem projektu še nič sledeno.
Glejte poglavje Notranjost Gita za več informacij o tem, katere datoteke točno so vsebovane v direktoriju .git
, ki ste ga ravno ustvarili.
Če želite začeti nadzor različic obstoječih datotek (v primerjavi s praznim direktorijem), bi morali verjetno začeti slediti tem datotekam in narediti začetno potrditev.
To lahko naredite z nekaj ukazi git add
, ki določi datoteke, ki jim želite slediti, ter nato izvedete git commit
:
$ git add *.c
$ git add LICENSE
$ git commit -m 'Initial project version'
Kaj te ukazi naredijo, bomo šli skozi čez minuto. Na tej točki imate repozitorij Git s sledenimi datotekami in začetno potrditvijo.
Kloniranje obstoječega repozitorija
Če želite dobiti kopijo obstoječega repozitorija Git, na primer projekt, ki mu želite prispevati, je ukaz, ki ga potrebujete, git clone
.
Če ste že seznanjeni z ostalimi sistemi VCS, 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 skoraj vseh podatkov, ki jih ima strežnik.
Vsaka različica vsake datoteke zgodovine projekta je privzeto povlečena, ko poženete git clone
.
V bistvu, če se disk vašega strežnika pokvari, lahko pogosto uporabite skoraj katerikoli klon kateregakoli odjemalca, da strežnik povrnete v stanje, v katerem je bil, ko je bil kloniran (morda boste izgubili nekatere kljuke strežniške strani in podobno, vendar vsi podatki v različicah bi morali bili tam — za več podrobnosti si oglejte razdelek Pridobitev Gita na strežniku).
Repozitorij klonirate z git clone <url>
.
Na primer, če želite klonirati Git povezano knjižnico imenovano libgit2
, lahko to naredite na naslednji način:
$ git clone https://github.com/libgit2/libgit2
To ustvari direktorij imenovan libgit2
, znotraj njega inicializira direktorij .git
, povleče vse podatke za ta repozitorij in izvleče delovno kopijo zadnje različice.
Če greste v novi direktorij libgit2
, boste tam videli projektne datoteke, ki so pripravljene za delo ali uporabo.
Če želite klonirati repozitorij v direktorij, imenovan nekaj drugega kot libgit2
, lahko to določite kot naslednji argument v ukazni vrstici:
$ git clone https://github.com/libgit2/libgit2 mylibgit
Ukaz izvede enako stvar kot prejšnji, vendar ciljni direktorij je imenovan mylibgit
.
Git ima vrsto različnih prenosnih protokolov, ki jih lahko uporabite.
Prejšnji primer uporablja protokol https://
, vendar videli boste lahko tudi git://
ali user@server:path/to/repo.git
, ki uporablja prenosni protokol SSH.
Razdelek Pridobitev Gita na strežniku vam bo predstavil vse možnosti, ki so na voljo, da jih strežnik lahko nastavi za dostopanje do vašega repozitorija Git ter prednosti in slabosti vsake.