Git Workflow — Komanda İşi Üçün Branch Strategiyası
Komandada kod xaosu yaşayırsan? Git branch strategiyaları ilə peşəkar iş axını qurmağı öyrən — real nümunələr və Bakı reallıqları ilə.
Git Workflow — Komanda İşi Üçün Branch Strategiyası
Salam, developer dostum! 👋
Bunu etiraf edək: çoxumuz Git-i yalnız git add ., git commit -m "fix" və git push üçün istifadə edirik. Tək işləyəndə bu kifayət edir. Amma Bakıda bir startupda və ya şirkətdə 3-4 nəfərlik komandaya qoşulan kimi — merge conflict cəhənnəmi başlayır.
Bu gün sənə real komanda mühitində işləyən Git workflow-ları göstərəcəyəm. Məqalənin sonunda hansı strategiyanın sənin komandana uyğun olduğunu biləcəksən.
Niyə Branch Strategiyası Vacibdir?
Stack Overflow-un 2024 Developer Survey-inə görə, developer-lərin 87%-i Git istifadə edir. Amma "Git istifadə etmək" ilə "Git-i düzgün istifadə etmək" arasında böyük fərq var.
Bakıdakı reallığa baxaq: ABB, Kapital Bank, Azerconnect kimi şirkətlərdə 5-15 nəfərlik backend komandaları eyni repo üzərində işləyir. Branch strategiyası olmadan nə baş verir?
- 🔴 Production-da bug çıxır, amma hansı commit-dən gəldiyini tapmaq mümkün olmur
- 🔴 İki developer eyni faylı dəyişir, merge conflict-lər saatlarla vaxt alır
- 🔴 Hotfix lazımdır, amma main branch-də yarımçıq feature-lər var
- 🔴 Junior developer yanlışlıqla production-a push edir (bəli, bu baş verir)
İndi isə həll yollarına keçək.
1. Git Flow — Klassik və Etibarlı
Vincent Driessen tərəfindən 2010-cu ildə təqdim edilən Git Flow, ən geniş yayılmış strategiyadır. Böyük komandalar və release cycle-ı olan layihələr üçün idealdır.
Branch strukturu:
main— production kodu, həmişə stabildevelop— inkişaf branch-i, feature-lər bura merge olunurfeature/*— hər yeni funksionallıq üçün ayrıca branchrelease/*— release hazırlığı üçünhotfix/*— production bug-ları üçün təcili düzəliş
Real iş axını:
bash# Yeni feature başla git checkout develop git pull origin develop git checkout -b feature/user-authentication # İşini gör, commit et git add . git commit -m "feat: add JWT token validation" git commit -m "feat: add login endpoint" git commit -m "test: add auth unit tests" # Feature hazırdır — develop-a merge et git checkout develop git merge --no-ff feature/user-authentication git push origin develop # Branch-i sil git branch -d feature/user-authentication
Hotfix nümunəsi — production-da problem var:
bash# main-dən hotfix branch aç git checkout main git checkout -b hotfix/payment-crash-fix # Düzəlişi et git commit -m "fix: null check for payment response" # Həm main-ə, həm develop-a merge et git checkout main git merge --no-ff hotfix/payment-crash-fix git tag -a v1.2.1 -m "Payment crash fix" git checkout develop git merge --no-ff hotfix/payment-crash-fix
Kim üçündür? Kapital Bank, ABB texnologiya komandası kimi release dövrü olan, 5+ developer-li komandalar. Əgər aylıq 1500-3000 AZN maaş aralığında middle/senior pozisiyaya müraciət edirsənsə, bu workflow-u bilmək mütləqdir.
2. GitHub Flow — Sadə və Sürətli
Git Flow çox mürəkkəb gəlirsə, GitHub Flow sənin üçündür. Xüsusilə startup mühitində — Bakıda PASHA Holding-in innovasiya komandaları, OBA kimi e-commerce layihələr və ya kiçik outsource şirkətlərində populyardır.
Qaydası sadədir:
mainbranch həmişə deploy oluna bilən vəziyyətdə olmalıdır- Yeni iş üçün
main-dən branch aç - Pull Request (PR) aç
- Code review keç
main-ə merge et və deploy et
bash# main-dən yeni branch git checkout main git checkout -b add-search-filter # İşlə, commit et git add . git commit -m "feat: add product search filter by category" git push origin add-search-filter # GitHub/GitLab-da Pull Request aç # Komanda yoldaşın review edir # Approve olunandan sonra main-ə merge
Kim üçündür? 2-5 nəfərlik komandalar, CI/CD pipeline-ı olan layihələr, startup-lar. Əgər gündə bir neçə dəfə deploy edirsinizsə, bu sizin üçündür.
3. Trunk-Based Development — Böyüklərin Seçimi
Google, Facebook və Netflix bu strategiyadan istifadə edir. DORA (DevOps Research and Assessment) hesabatına görə, yüksək performanslı komandaların 65%-i trunk-based development tətbiq edir.
Prinsipi:
- Hamı birbaşa
main(trunk) üzərində və ya çox qısa ömürlü branch-lərdə işləyir - Branch-lər maksimum 1-2 gün yaşayır
- Feature flag-lər ilə yarımçıq funksionallıq gizlədilir
bash# Qısa ömürlü branch git checkout -b add-tooltip # Maksimum bir günlük iş git commit -m "feat: add tooltip to dashboard cards" git push origin add-tooltip # Eyni gün PR aç, review et, merge et
Kim üçündür? Güclü CI/CD və test coverage-ı olan yetkin komandalar. Bakıda bunu tam tətbiq edən az komanda var, amma bu istiqamətə getmək sənin dəyərini artırır.
Hansını Seçməliyəm? Praktiki Cədvəl
| Meyar | Git Flow | GitHub Flow | Trunk-Based |
|---|---|---|---|
| Komanda ölçüsü | 5-20 nəfər | 2-10 nəfər | 5-100+ nəfər |
| Release tezliyi | Aylıq/həftəlik | Gündəlik | Gündə bir neçə dəfə |
| Mürəkkəblik | Yüksək | Aşağı | Orta |
| CI/CD tələbi | Orta | Yüksək | Çox yüksək |
| Bakıda populyarlıq | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ |
Commit Mesajları — Kiçik Detal, Böyük Təsir
Hansı workflow seçsən seç, Conventional Commits standartını istifadə et:
feat: add user registration endpoint
fix: resolve null pointer in payment service
docs: update API documentation
refactor: simplify order calculation logic
test: add integration tests for auth module
chore: update dependencies to latest versions
Bunu interview-da soruşurlar. Xüsusilə Azerconnect, Azercell və EPAM kimi şirkətlərdə code review mədəniyyəti güclüdür — təmiz commit history sənin peşəkarlığını göstərir.
Komanda üçün 5 Qızıl Qayda
- Heç vaxt
main-ə birbaşa push etmə — branch protection rule qur - PR olmadan merge yoxdur — minimum 1 reviewer tələb et
- Branch adlarında standart saxla —
feature/,fix/,hotfix/prefiksləri istifadə et - Gündəlik pull et —
git pull --rebase origin developilə conflict-ləri minimuma endir - CI pipeline-sız merge yoxdur — testlər keçməlidir
Son Söz
Bakının texnologiya bazarı sürətlə böyüyür. 2025-ci ildə LinkedIn məlumatlarına görə Azərbaycanda developer vakansiyalarının sayı əvvəlki ilə nisbətən 35% artıb. Bu vakansiyaların əksəriyyətində "Git workflow biliyini" tələb edirlər.
Əgər tək çalışırsansa — GitHub Flow ilə başla. Komandada işləyirsənsə — Git Flow öyrən. Yüksək səviyyəyə çatmaq istəyirsənsə — Trunk-Based Development-ı mənimsə.
Unutma: yaxşı developer yalnız kod yazan deyil, komanda ilə effektiv işləyə biləndir.
Uğurlar, dostum! 🚀
Sualın var? Şərhlərdə yaz, birlikdə həll edək.
Oxşar məqalələr
Git Workflow — Komanda İşi Üçün Branch Strategiyası
Komandada işləyirsən və Git branch-ləri qarışır? Bu məqalədə real layihələrdə istifadə olunan workflow strategiyalarını praktiki nümunələrlə öyrən.
Stripe Ödənişlərini Next.js-ə İnteqrasiya Et: Tam Praktiki Bələdçi
Azərbaycandan Stripe ilə ödəniş qəbul etmək istəyirsən? Next.js App Router + Stripe Checkout ilə sıfırdan real ödəniş sistemi qururuq — kod, izah və praktiki məsləhətlərlə.
OpenAI API-ni Öz Tətbiqinizə Əlavə Etmək — Başlanğıc Bələdçi
GPT modelini öz layihənizə necə inteqrasiya edəcəyinizi praktiki kod nümunələri ilə addım-addım öyrənin. API key almaqdan tutmuş production-a qədər.