Kontrola verzija za programere i web developere
Šta je Git?
Detaljno objasnjenje Git-a - šta su repozitorijumi, grane, commitovi, šta su GitHub i GitLab, i kako programeri koriste Git za deploy i održavanje sajtova.
Šta je Git?
Git je distribuirani sistem kontrole verzija (DVCS) koji prati izmene u kodu tokom vremena. Omogućava više developera da rade paralelno, pravi istoriju svih izmena, branch-ovanje za feature rad i rollback na prethodne verzije. Osnovne komande: init, clone, add, commit, push, pull, branch, merge. Platforme: GitHub, GitLab, Bitbucket. BeoHosting cPanel ima Git Version Control za auto-deploy koda na server preko webhook-a.
- Git = kontrola verzija koda
- Repozitorijumi, grane, commit, push
- GitHub/GitLab/Bitbucket platforme
- BeoHosting cPanel: Git Version Control
- Auto-deploy sa webhook-om
BeoHosting Tim
10+ godina iskustva — Stručnjaci za web hosting i infrastrukturu
- Git
- GitHub
- GitLab
- Bitbucket
- CI/CD
- Version control
- Webhook deploy
- Developer workflow
Poslednje ažurirano:
Šta je Git i zašto ga koriste svi programeri?
Git je distribuirani sistem za kontrolu verzija (Version Control System - VCS) koji je kreirao Linus Torvalds 2005. godine - isti covek koji je kreirao Linux. Git prati svaku izmenu u vašem kodu i omogućava vam da se vratite na bilo koju prethodnu verziju u bilo kom trenutku.
Zamislite da pisete dokument i želite da sačuvate svaku verziju - Git to radi automatski za vaš kod. Svaka izmena se beleži sa opisom, autorom i vremenskim pecatom. Ako nešto pođepo zlu, možete se trenutno vratiti na poslednju ispravnu verziju.
Git je danas industrijski standard - koristi ga preko 90% programera širom sveta. Od malih freelance projekata do Googlea, Facebooka i Microsofta, Git je osnova svakog ozbiljnog razvojnog procesa. Sa BeoHosting VPS hostingom, možete podesiti Git-based deployment za automatski deploy vašeg sajta.
Osnovni Git koncepti
Razumevanje ovih 6 koncepata je dovoljno za pocatak rada sa Git-om.
Repozitorijum (Repo)
Folder koji sadrži vaš projekat i kompletnu istoriju svih izmena. Može biti lokalni (na vašem računaru) ili remote (na GitHub/GitLab). Svaki projekat obično ima jedan repozitorijum.
Commit
Snimak vašeg koda u određenom trenutku. Svaki commit sadrži izmene, poruku koja ih opisuje, autora i vremenski pecat. Commitovi čine "timeline" vašeg projekta.
Grana (Branch)
Paralelna linija razvoja. Glavni kod je na "main" grani. Kada želite da dodate novu funkcionalnost, kreirate novu granu, radite izmene, i kad završite, spajate (merge) je nazad u main.
Merge
Spajanje jedne grane u drugu. Kada završite rad na novoj funkcionalnosti u svojoj grani, merge je kombinuje sa glavnim kodom. Git automatski resava većinu konflikata.
Pull Request (PR)
Zahtev za spajanje vaše grane u glavnu granu. Tim može pregledati vaše izmene, komentarisati, traziti popravke i na kraju odobriti merge. Ključan za timski rad.
Clone / Fork
Clone pravi kopiju repozitorijuma na vaš računar. Fork pravi kopiju na vašem GitHub nalogu. Fork se koristi za doprinose open-source projektima - forkujete, napravite izmene, pa posaljete Pull Request.
GitHub, GitLab i Bitbucket - Git hosting platforme
Ove platforme hostuju vaše Git repozitorijume u oblaku i dodaju funkcije za timski rad.
GitHub
100M+ korisnikaNajpopularnija platforma sa 100+ miliona korisnika. Vlasnistvo Microsoft-a. Idealan za open-source projekte, portfolio i kolaboraciju. Besplatan za javne i privatne repozitorijume.
GitLab
30M+ korisnikaKompletna DevOps platforma sa ugradenim CI/CD, kontejner registrom i monitoringom. Popularan u enterprise okruženjima. Može se instalirati na sopstvenom serveru (self-hosted).
Bitbucket
10M+ korisnikaAtlassian-ova platforma koja se odlično integrise sa Jira, Trello i Confluence. Popularna među timovima koji već koriste Atlassian alate. Besplatna za male timove (do 5 korisnika).
Kako programeri koriste Git za deploy sajta
Git-based deployment je moderan pristup koji automatizuje postavljanje koda na server.
Lokalni razvoj
Programer piše i testira kod na svom računaru. Koristi Git za praćenje svih izmena.
Commit i Push
Kada je zadovoljan izmenama, programer commit-uje kod i push-uje ga na GitHub/GitLab.
Code Review
Tim pregleda izmene kroz Pull Request. Komentarisu, predlazu poboljšanja i odobravaju merge.
CI/CD Pipeline
Automatizovani testovi se pokrecu. Ako svi testovi prodju, kod se automatski deploy-uje na staging/produkcijski server.
Deploy na server
Novi kod je živ na serveru. Ako se pojavi problem, Git omogućava instant rollback na prethodnu verziju.
Za Git-based deployment potreban je server sa SSH pristupom - BeoHosting VPS hosting omogućava potpunu kontrolu nad serverom sa root pristupom, idealnim za postavljanje CI/CD pipeline-a i automatizovanog deploya.
Najvažnije Git komande za početak
Ovih 10 komandi pokriva 90% svakodnevnog rada sa Git-om. Sve komande se unose u terminal (Command Prompt, PowerShell ili Terminal na Mac-u).
git initInicijalizuje novi Git repozitorijum u trenutnom folderugit clone <url>Preuzima (klonira) repozitorijum sa GitHub/GitLab na vaš računargit statusPrikazuje status izmena - koji fajlovi su izmenjeni, dodati ili obrisanigit add .Dodaje sve izmenjene fajlove u staging area (priprema za commit)git commit -m "opis"Čuva izmene sa opisnom porukom - kreira novi "snimak" kodagit pushSalje vaše commitove na remote repozitorijum (GitHub/GitLab)git pullPreuzima najnovije izmene sa remote repozitorijuma na vaš računargit branch <ime>Kreira novu granu za paralelni razvojgit checkout <grana>Prebacuje se na drugu granugit merge <grana>Spaja navedenu granu u trenutnu granuImate pitanje?
Naš tim je dostupan 24/7. Pozovite naš ili pošaljite poruku.
Spremni da pokrenete svoj sajt?
Pridružite se 4.000+ zadovoljnih korisnika u Srbiji. Besplatna migracija i 15 dana garancije povrata novca.
Cesta pitanja o Git-u
Odgovori na najčešća pitanja o našim uslugama.
Bez rizika, sa punom podrškom
Vaše zadovoljstvo je naš prioritet.
15 dana garancija
Garancija vraćanja novca bez postavljanja pitanja u prvih 15 dana. Bez rizika.
Besplatna migracija
Besplatno prebacujemo vaš sajt sa starog hostinga. Bez prekida u radu.
24/7 Podrška
Non-stop tehnička podrška na srpskom jeziku putem chata, emaila i telefona.