Files
GoNtech/GIT.md
T

3.0 KiB

Git tok rada (NTech)

Projekat koristi Gitflow model: dve trajne grane (main, develop) i tri vrste privremenih grana (feature/*, release/*, hotfix/*).

Grane

Grana Uloga Pravilo
main samo stabilne, objavljene verzije nikad direktan commit; ulazi samo release/* ili hotfix/*, uz tag verzije
develop integraciona grana — sav razvoj se skuplja ovde radne grane se vraćaju ovde
feature/* jedna nova funkcija grana se od develop, vraća u develop
release/* priprema verzije (zamrznut develop, samo popravke) ide u main + develop
hotfix/* hitna popravka produkcije grana se od main, vraća u main + develop

Remote-ovi

Remote URL Uloga
gitea git.vm-net.in.rs:Dasko/GoNtech.git primarni (privatni)
origin github.com:dalibor31/GoNTech.git mirror

develop i main prate gitea. Push se radi na oba remote-a (vidi dole).


Svakodnevni rad — nova funkcija

git checkout develop
git pull                              # povuci najnovije
git checkout -b feature/ime-funkcije  # nova grana od develop

# ... rad, commit-ovi ...

git checkout develop
git merge feature/ime-funkcije        # spoji nazad u develop
git branch -d feature/ime-funkcije    # obriši lokalnu granu

Konvencija imena: feature/kratak-opis (npr. feature/pdv-izvestaj, feature/servis-garancija).

Objava stabilne verzije (developmain)

Kad je develop testiran i spreman za isporuku:

git checkout main
git merge develop
git tag v1.0.0                        # označi verziju (semver)

Svaki commit na main mora imati tag verzije — to je „release".

Hitna popravka produkcije (hotfix)

Bag na objavljenoj verziji koji ne može da čeka sledeći release:

git checkout main
git checkout -b hotfix/opis-popravke  # grana se OD main

# ... popravka + commit ...

git checkout main
git merge hotfix/opis-popravke
git tag v1.0.1                        # nova zakrpljena verzija

git checkout develop
git merge hotfix/opis-popravke        # popravka mora i u develop
git branch -d hotfix/opis-popravke

Push na remote (oba)

# develop
git checkout develop
git push gitea develop
git push origin develop

# main (samo posle objave verzije, sa tagovima)
git checkout main
git push gitea main --tags
git push origin main --tags

Push se radi na zahtev — ne automatski posle svakog commita.

Pravila

  • Nikad commit direktno na main. Sve ide preko develop ili hotfix/*.
  • Preporuka: uključi branch protection za main na Gitea (Settings → Branches) da se zabrani direktan push.
  • Commit poruke na srpskom (ekavica), bez Co-Authored-By trailera.
  • feature/* grane su kratkog veka — spoji i obriši čim je funkcija gotova.

Brza referenca

git branch -vv          # grane + koju remote granu prate
git log --oneline -10   # poslednjih 10 commit-ova
git status              # šta je promenjeno
git tag                 # spisak verzija