Branch Model
| Branch | Purpose |
|---|---|
main | Production-ready, protected branch |
feature/<name> | New feature or content |
fix/<name> | Non-emergency defect correction |
hotfix/<name> | Urgent production correction |
docs/<name> | Documentation-only update |
release/<version> | Optional coordinated release stabilization |
Daily Workflow
git checkout main
git pull --ff-only
git checkout -b feature/login-redesign
# make and test changes
git add .
git commit -m "feat: redesign login experience"
git push -u origin feature/login-redesign
Commit Standard
Use concise conventional prefixes:
feat: add team member pagination
fix: prevent duplicate Firestore records
docs: document Gmail alias filters
refactor: simplify authentication service
test: add project form validation tests
chore: update dependencies
- Keep each commit focused on one logical change.
- Write in the imperative mood.
- Do not include secrets, client data, or unrelated generated files.
- Reference an issue when one exists.
Cloudberrie Merge Default
Use squash merge for ordinary feature branches to keep main readable. Use merge commits only when preserving the complete branch history is intentionally valuable.