Koje obrasce rada sa Git ste koristili?
sobes.tech АИ
Одговор од АИ
-
Git-flow: Koristi se za projekte sa jasno definisanim ciklusom izdanja. Pogodan za upravljanje funkcijama, ispravkama grešaka i pripremom za izdanja. Kreira grane
feature,develop,release,hotfix,master. -
GitHub flow: Primenjivao se za projekte gde je prioritet često, mala izdanja. Jednostavan model zasnovan na jednoj glavnoj grani (
mainilimaster) i granama za svaku funkciju ili ispravku, koje se odmah spajaju u glavnu granu nakon pregleda. -
Razvoj zasnovan na trunk: Praktikovan za projekte koji zahtevaju visoku frekvenciju integracije i kontinuirano implementiranje. Programeri unose promene direktno u glavnu granu (
trunk) ili kratkotrajne grane, koje se brzo spajaju nazad. Ključni element — Feature Toggles.
Pored ovih osnovnih obrazaca, koristili su se:
-
Rebase vs Merge: U zavisnosti od situacije i dogovora u timu, koristio se
git rebaseza održavanje čiste istorije commitova u lokalnim granama pre spajanja, igit merge --no-ffza očuvanje eksplicitne istorije spajanja u glavnoj grani.# Primer rebase git checkout feature/nova-funkcija git pull --rebase origin main # Rešavanje konflikata, ako ih ima git push -f origin feature/nova-funkcija # Ili pull request za spajanje u main# Primer merge --no-ff git checkout main git merge --no-ff feature/nova-funkcija -m "Spajanje feature/nova-funkcija u main" git push origin main -
Squash and Merge: Često se primenjivao pri spajanju funkcionalnih grana u glavnu granu putem Pull Request-a. Omogućava objedinjavanje više commit-ova iz funkcionalne grane u jedan čist commit u glavnoj grani.
# Primer squash merge preko interfejsa Git platforme (GitHub, GitLab) # Obično se vrši pri potvrdi Pull Request-a. -
Cherry-picking: Koristi se za prenos specifičnih commit-ova između grana, na primer, za backporting ispravki iz glavne grane u izdavačku ili staging granu.
# Primer cherry-pick git checkout release/v1.2 git cherry-pick <commit_hash>