Skip to main content

Branching, Commits, and Daily Git Workflow

Document: INF-106Type: Guide / SOPStatus: ApprovedOwner: Engineering OperationsVersion: 4.2.0Updated: 2026-07-17

Branch Modelโ€‹

BranchPurpose
mainProduction-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.