Git Workflow
Branching Strategy
Menggunakan Git Flow yang disederhanakan:
main ← Production release
├── develop ← Development integration
│ ├── feature/MOB-123-user-auth ← Feature branches
│ ├── feature/MOB-456-payment
│ └── bugfix/MOB-789-crash-fix
├── release/1.2.0 ← Release candidate
└── hotfix/1.1.1 ← Emergency fix
Branch Naming
<type>/<ticket-id>-<short-description>
Contoh:
feature/MOB-123-user-authentication
bugfix/MOB-456-fix-crash-on-login
hotfix/MOB-789-critical-payment-fix
chore/MOB-012-update-dependencies
refactor/MOB-345-clean-api-layer
Commit Message
Menggunakan Conventional Commits:
<type>(<scope>): <subject>
Contoh:
feat(auth): implement biometric login
fix(payment): resolve crash on empty cart
refactor(api): migrate to Retrofit 3.x
chore(deps): bump Kotlin to 2.4.20
docs(readme): update setup instructions
test(user): add unit tests for GetUserUseCase
Tipe Commit
| Type | Deskripsi |
|---|---|
feat | Fitur baru |
fix | Bug fix |
refactor | Refactoring tanpa perubahan behavior |
chore | Maintenance (dependencies, config) |
docs | Dokumentasi |
test | Menambah / memperbaiki test |
style | Formatting, tanpa perubahan logic |
perf | Performance improvement |
ci | CI/CD configuration |
Merge Request Rules
- Minimal 1 reviewer harus approve sebelum merge.
- CI harus pass (lint, test, build).
- Squash merge ke develop (1 commit per feature).
- Branch harus up-to-date dengan target branch sebelum merge.
- Deskripsi MR harus mencakup: apa yang berubah, kenapa, dan screenshot (jika ada UI change).