Uvod u Git
Ako već koristite GNU/Linux, a niste još imali prilike da koristite Git, u ovom tekstu ćemo vam objasniti šta je Git i na koji način možete da ga koristite.
Idejni tvorac Git-a je Linus Torvalds, inače tvorac Linux-a, koji ga je razvio dok je radio na razvoju Linux kernela. Od tog vremena Git je postao prihvaćen u mnogim softverskim projektima kao standard u praćenju razvoja softvera u svim njegovim fazama.
Šta je Git
Git je specifična implementacija alata za kontrolu verzije, poznatiji kao distribuirana revizija kontrole verzije, sa mogučnošću praćenja izmena nad setom fajlova. On omogućava praćenje istorije promena, kako lokalno tako i u zajedničkom radnom okruženju. Prednost ovog praćenja je u tome što znamo šta je menjano, kada je menjano, ko ga je menjao i zašto ga je menjao. Dobra strana svega je što tako praćene izmene na kraju mogu biti spojene u jednu istoriju.
S obzirom da je u pitanju distribuirani sistem za kontrolu verzije, svaki računar poseduje ceo repozitorijum koji se čuva lokalno, dok server služi za razmenu i saradnju između korisnika. Svaki računar ima kopiju podataka koja se čuva lokalno i koja se sinhronizuje sa serverom.
Čemu Git služi
Važno je da odmah napomenemo da Git može u potpunosti biti korišćen od strane pojedinca, bez potrebe da se ikada konektuje na server i sarađuje sa drugima, ali da on to može jednostavno učiniti kada god mu to bude potrebno.
Git je pre svega usmeren ka procesiranju lokalnog sadržaja. Ako ste početnik, dovoljno je da se prvo fokusirate na opcije koje vam Git nudi za praćenje vaših projekata na lokalnom računaru.
Instalacija Git-a
Instalacija Git-a na GNU/Linux-u je jednostavna. Radite je uz pomoć package manager-a iz komandne linije. Evo nekoliko primera kako to možete da uradite u nekim popularnim distribucijama.
Na Debian sistemima, ili onima koji su zasnovani na Debian-u (kao Ubuntu):
$ sudo apt-get install git
Na Redhat Enterprise Linux i sistemima zasnovanim na RedHat-u, kao što je Fedora koristite yum:
$ sudo yum install git
napomena: na Fedori 22 ili kasnije zamenite yum sa dnf:
$ sudo dnf install git
Konfigurisanje Git
Sada kada ste instalirali Git potrebno je da ga konfigurišete da biste ga koristili. Prvu stvar koju treba da uradite je da konfigurišete svoj email i koriničko ime u Git-u. Imajte u vidu da oni neće biti korišćeni za logovanje na neki sistem, već za dokumentovanje izmena koje pravite.
Da biste konfigurisali vaš email i korisničko ime unesite sledeće komande u terminal:
$ git config --global user.email "email@domen.com"
$ git config --global user.name "korisnicko ime"
Naravno, ne zaboravite da umesto "email@domen.com"
i
"korisnicko ime"
uneste vaš email i vaše korisničko ime.
Po potrebi oba podatka mogu biti kasnije promenjena primenom istih komandi sa novim podacima. Ukoliko se odlučite na takav korak imajte u vidu da će Git promeniti vaše podatke za beleženje svih daljih promena, ali će za sve promene napravljene pre toga sačuvati vaše prethodne podatke. Zato obratite pažnju da tačno unesete pomenute podatke.
Vaš prvi Git projekat
Da biste setovali vaš prvi projekat, on mora biti inicijalizovan pomoću ove komande:
$ git init projectname
Na taj način ćete kreirati direktorijum u vašem radnom direktorijumu sa imenom vašeg projekta. On će sadržati projektne fajlove/foldere zajedno sa kontrolnim fajlovima koji se koriste za praćenje. Git čuva ove kontrolne fajlove u .git
skrivenom direktorijumu.
Kada radite sa Git-om, trebalo bi da započnete sa novim projektnim folderom:
$ cd projectname
Korišćenjem touch komande kreirate prazan fajl koji ćete koristiti da kreirate jednostavn hello world program:
$ touch helloworld.c
Da bismo fajlove u direktorijumu pripremili da budu dodati sistemu za kontrolu verzija, koristićemo komandu git add
. Ovo je proces poznat pod nazivom stagging. Za dodavavanje svih fajlova u direktorijumu kosristićemo tačku (.).
Ukoliko želite da dodate samo odabrane fajlove, onda je potrebno da tačku (.) zamenite sa imenom nekog određenog fajla.
Git commit
Commit ćete koristiti za kreiranje trajnog istorijskog zapisa o tome kako izgledaju projektni fajlovi u datom trenutku. U našem slučaju to je samo jedan prazan fajl. Commit koristimo dodavanjem flag-a –m
.
$ git commit -m "Prvi commit projekat je samo prazan fajl"
Sada možemo da kreiramo naš prvi kod u tom praznom fajlu. Otvorite bilo koji tekst editor i unesite sledeći kod u naš helloworld.c
fajl. Ne zaboravite da na kraju sačuvate fajl.
#include
int main(void)
{
printf("Hello, World!n");
return 0;
}
Sada kada smo ažurirali naš projekat, možemo ponovo da pokrenemo git
add
i git commit
:
$ git add helloworld.c
$ git commit -m "dodat izvorni kod u helloworld.c"
Čitanje logova
Sada kada imamo dva commit-a u našem projektu, možemo da pogledamo kako izgledaju logovi sa istorijskim podacima. Da bismo videli logove kucamo:
$ git log
Kao što ćete primetiti svaki commit je organizovan po svom jedinstvenom SHA-1 hash ID-u. Poslednji sačuvani commit je označen kao head i predstavlja našu trenutnu poziciju u projektu.
Da biste videli koje su promene sačuvane u određenom commit-u, jednostavno pokrenite git show
komandu, sa njegovim hash id-em kao argumentom:
$ git show 6a9eb6c2d75b78febd03322a9435ac75c3bc278e
Rad sa udaljenim repozitorijumom
Sada kada smo prošli kroz osnove koristeći lokalni računar, vreme je da vidimo kako možete raditi sa Git-om kada su u pitanju udaljeni repozitorijumi i projekti koji se hostuju na njima. Projekat može biti hostovan na privatnom git serveru koji je u vlasništvu neke organizacije, ili može biti hostovan na nekom third-party online hosting servisu kao što je Github.
Za potrebe ovog teksta pretpostavimo da imate neki projekat koji hostujete na GitHub-u. Pre svega je potrebno da klonirate repozitorijum lokalno koristeći git clone
komandu i URL projekta i ujedno praveći direktorijum kloiniranog projekta kao naš trenutni radni direktorijum.
$ git clone project.url/projectname.git
$ cd projectname
Zatim treba da editujemo lokalne fajlove, implementirajući promene koje želimo. Nakon toga treba da ih dodamo u stagging sekciju i pokrenemo commit kao u našem prethodnom primeru:
$ git add .
$ git commit -m "dodate promene"
Nakon izmene na lokalnom serveru, sada treba da pošaljemo te izmene na git server koriščenjem sledeće komande:
$ git push
Pre nego je pokrenete važno je da znate da ova komanda zahteva da se autentifikujete na udaljenom serveru (u ovom slučaju to bi bili korisničko ime i lozinka za GitHub), pre nego što je pokrenete.
Time ste ujedno i zatvorili krug od instalacije, preko konfigurisanja i na kraju čuvanja i upload-ovanja sačuvanih izmena na udaljeni server. Ujedno ste i savladali prve korake u korišćenju Git-a, što je savim dovoljno da počnete da ga samostalno koristite za sopstvene potrebe. U sledećem tekstu smo obradili najpopularnije Git komande.
Pogledajte i ostale Git članke na našem blogu:
- Git komande za početnike
- Kako obrisati Git keš
- Osnovne Git konfiguracije koje mogu poboljšati vaš workflow
- Napredne Git komande za efikasniji rad
- Napredni GIT koncepti za developere
- Redovno ažurirajte svoju lokalnu Git instalaciju.