Git
Chapters ▾ 2nd Edition

2.1 Osnove Gita - Pravljenje Git repozitorijuma

Ako postoji jedno poglavlje koje je dovoljno pročitati da biste mogli da se snađete u Gitu, onda je to ovo. Ovo poglavlje pokriva svaku osnovnu komandu koja će vam biti potrebna da biste obavili veliku većinu stvari koje ćete najčešće raditi dok budete koristili Git. Kad završite s ovim poglavljem, moći ćete da konfigurišete i inicijalizujete repozitorijum, da počnete i prestanete da pratite fajlove, i da stejdžujete i komitujete promene. Pokazaćemo vam i kako da brzo podesite Git da ignoriše neke fajlove i tipove fajlova, kako da opovrgnete greške brzo i lako, kako da pretražite istoriju projekta i pogledate promene između komitova, i kako da gurnete i povučete (push i pull) fajlove sa udaljenih repozitorijuma.

Pravljenje Git repozitorijuma

Možete da pribavite Git projekat na jedan od dva osnovna načina. Prvi uzima postojeći projekat ili direktorijum i importuje Git u njega. Drugi klonira postojeći Git repozitorijum sa drugog servera.

Inicijalizacija repozitorijuma u postojećem direktorijumu

Ako počinjete da pratite postojeći projekat koristeći Git, treba da odete do direktorijuma projekta i ukucate:

$ git init

Ovo pravi novi poddirektorijum s imenom .git koji sadrži sve neophodne fajlove - skelet za Git repozitorijum. U ovom trenutku, ništa se još ne prati. (Pogledajte Git iznutra za više informacija o tome šta su tačno fajlovi koji se nalaze u .git direktorijumu koji ste upravo napravili.)

Ako želite da počnete sa kontrolom verzije postojećih fajlova (spram praznog direktorijuma), verovatno bi trebalo da počnete da pratite te fajlove i da učinite inicijalni komit. To možete postići sa nekoliko git add komandi koje specificiraju fajlove koje želite da pratite, a zatim ukucajte komandu git commit:

$ git add *.c
$ git add LICENSE
$ git commit -m 'inicijalna verzija projekta'

Obradićemo šta rade ove komande za koji minut. Sada imate Git repozitorijum sa praćenim fajlovima i inicijalnim komitom.

Kloniranje postojećeg repozitorijuma

Ako želite da pribavite kopiju postojećeg Git repozitorijuma — na primer, projekat kojem biste želeli da doprinesete — komanda koja vam je potrebna je git clone. Ako ste upoznati sa drugim VCS sistemima kao što je Subversion, primetićete da je komanda clone a ne checkout. Ovo je bitna razlika - umesto da pravi samo radnu kopiju, Git prima celu kopiju skoro svih podataka koje ima server. Svaka verzija svakog fajla cele istorije projekta se povlači kada se pokrene git clone. Zapravo, ako dođe do greške na disku sa servera, najčešće možete da iskoristite skoro svaki od klonova koji klijenti imaju da biste vratili server u stanje u kome je bio kada je kloniran (možete da izgubite neka podešavanja sa strane servera, ali svi verzionisani podaci bi bili tu — pogledajte Git on the Server za više detalja).

Repozitorijum se klonira sa git clone [url]. Na primer, ako hoćete da klonirate Git vezivnu biblioteku koja se zove libgit2, možete to da uradite ovako:

$ git clone https://github.com/libgit2/libgit2

Ovo pravi direktorijum sa imenom libgit2, incijalizuje .git direktorijum u njemu, povlači sve podatke sa tog repozitorijuma i čekautuje radnu kopiju poslednje verzije. Ako odete u novi libgit2 direktorijum, videćete sve fajlove iz projekta tamo, spremne za rad nad njima ili korišćenje. Ako želite da klonirate repozitorijum u nešto što se ne zove "libgit2", možete specificirati to pomoću sledeće komande:

$ git clone https://github.com/libgit2/libgit2 mylibgit

Ta komanda radi isto što i prethodna, s tim što se odredišni direktorijum zove mylibgit.

Git ima veliki broj različitih transfer protokola koje možete da koristite. Prethodni primer koristi https:// protokol, ali možete da koristite i git:// ili korisnik@server:putanja/do/repozitorijuma.git, koji koristi SSH transfer protokol. Git on the Server će predstaviti sve dostupne opcije koje može imati server za pristupanje Git repozitorijumu, kao i prednosti i mane svakog od njih.