Git za solo developere: zašto ga trebaš koristiti i kada radiš sam

Kroz godine rada i razvoja više desetaka softverskih proizvoda često sam se susretao s otporom prema korištenju Git-a kod, solo, developera.

Pod solo developerom smatram osobu koja je sama odgovorna za neki softverski proizvod, neovisno radi li se o freelanceru ili zaposleniku tvrtke.

Izgovor je gotovo uvijek isti: „Radim sam, znam što radim. Git mi ne treba. Git je gubljenje vremena.“

I mogu to razumjeti, barem kratkoročno. Ako si jedini developer, nema konflikata, nema pull requestova i nema potrebe za koordinacijom. Sve odluke donosiš sam.

Osim toga, i bez Git-a, previše je alata koje je tijekom razvoja potrebno koristiti da nije neobično neki od njih preskočiti. Ipak, gubljenje vremena, češće pogreške, ne zna se gdje je zadnja verzija i sl. problemi su koji bespotrebno nastaju takvim načinom rada.

Ali što se događa kada dođe do zaborava, brzopletih odluka ili problema koji se ne vide odmah? Tu Git prestaje biti “alat za timove” i postaje rješenje.

Git kao sigurnosna mreža

Ako ne koristiš Git, vrlo brzo se nađeš u poznatoj situaciji:

“Samo ću malo refaktorirati ovaj dio…”
“Ma zapamtit ću kako je bilo prije.”

Naravno da nećeš. I onda se nađeš u panici kako ručno vratiti ispravnu verziju.

Git ti daje mogućnost da u svakom trenutku kažeš: ovo je stanje s kojim sam zadovoljan. Commit je checkpoint. Ako nešto pođe po zlu, povratak traje nekoliko sekundi. Bez kopiranja foldera, bez ZIP arhiva i bez kreativnih naziva tipa projekt_zadnja_verzija_v3.

Pamćenje je nepouzdano

Danas znaš zašto si nešto napravio. Za tjedan dana još možda. Za nekoliko mjeseci vrlo vjerojatno ne.

Tu Git postaje više od alata za verzioniranje. Postaje dnevnik odluka. Dobra commit poruka ne bilježi samo što je promijenjeno, nego zašto. Nema nagađanja i gubitka vremena.

Razlika je ogromna:

Loše:

zadnja verzija

Bolje:

fix: popravak API endpointa za na login formi

Druga poruka ti i nakon pola godine daje kontekst koji iz koda više nije očit.

Primjeri commit poruka

Ne treba si nametati nikakav strogi standard. Dovoljna je jednostavna struktura u obliku:

<tip>: kratki opis promjene

Nekoliko tipova:

  • feat – kad se dodaje nešto novo feat: dodana autentikacija korisnika
  • fix – kad se popravlja bug fix: ispravljen krivi izračun ukupne cijene
  • refactor – kad se čistim kod bez promjene ponašanja refactor: pojednostavljena logika validacije
  • chore – tehničke i pomoćne promjene chore: update dependency-ja

Poanta nije u pravilima, nego u tome da se kasnije možete brzo snaći u povijesti projekta bez pogađanja.

Korištenje commit poruka kao što je “zadnja verzija” ne govori ništa, nema smisla i poništava svrhu Git-a jer on nije mjesto za backup.

Lakše održavanje i rješavanje bugova

Kad se bug pojavi, a pojavit će se, Git povijest ti omogućuje da vidiš kada je problem uveden, što se točno promijenilo i u kojem kontekstu je odluka donesena.

Čak i git blame prestane biti neprijatelj. Istina, često pokaže prstom u tebe samog iz prošlosti, ali barem znaš gdje tražiti rješenje.

Jednostavan Git workflow za solo developera

Kad radiš sam, ne treba ti ništa komplicirano. Ovo mi se pokazalo sasvim dovoljnim:

  • main – stabilna verzija projekta
  • feature branch-evi po potrebi

Primjer:

main
 └── feature/login
 └── feature/payment

Flow je jednostavan: napraviš branch, radiš promjene, commit-aš male cjeline, merge-aš u main i obrišeš branch.
Čak i kad si sam, branch-evi ti daju slobodu da eksperimentiraš bez straha da ćeš razbiti stabilnu verziju.

Priprema za budućnost (i timski rad)

Možda danas radiš sam. Ali sutra se stvari mogu promijeniti kada projekt naraste, dođe novi developer ili klijent želi uvid u povijest rada.

Projekt s jasnom Git poviješću lakše je razumjeti, lakše održavati i djeluje profesionalnije. A čak i ako se ništa od toga ne dogodi za šest mjeseci si već “drugi developer”.

Git kao profesionalna navika

Git je industrijski standard. Korištenjem Git-a i na solo projektima gradiš disciplinu, olakšavaš si kasniji rad u timu, a tvoji projekti izgledaju zrelije i promišljenije.

Repozitorij bez povijesti izgleda kao gotov proizvod bez konteksta. Repo s dobrom poviješću pokazuje proces i način razmišljanja.

Zaključak


Ako želiš biti ozbiljan developer, Git nije opcija on je standard. Git je alat koji ti omogućuje da radiš opuštenije, sigurnije i dugoročno pametnije.

Napravi git init, piši smislene commit poruke i tretiraj Git kao svog najpouzdanijeg suradnika.