Branch Hierarchy
main (production)
└── dev (integration)
├── feat/xxx
├── fix/xxx
└── chore/xxx
| Branch | Base | Purpose |
|---|---|---|
main | - | Production-ready, deployed |
dev | main | Integration, feature complete |
feat/* | dev | New features |
fix/* | dev | Bug fixes |
chore/* | dev | Maintenance, deps, tooling |
refactor/* | dev | Code refactoring |
Workflow
- Branch dari
dev:git checkout dev && git pull git checkout -b feat/your-feature - Kerja, commit, push
- Bikin PR ke
dev - PR di-review, squash & merge
dev→mainuntuk release (merge commit, bukan squash)
Branch Naming
Format: <type>/<kebab-case-description>
feat/student-registration
fix/null-pointer-on-parse
chore/upgrade-deps
docs/api-readme
Detail lihat naming-conventions.