Branching Strategy
We follow a structured branching approach to maintain code quality and enable parallel development:
Branch Types
main- Production-ready code. Protected branch.dev- Integration branch for features. Protected branch.feature/- New features and enhancementsbugfix/- Bug fixes for existing functionalityhotfix/- Critical fixes that need immediate deploymentrelease/- Release preparation and versioning
Branch Naming Convention
Use descriptive names with the appropriate prefix:
feature/add-navigation-controller
feature/improve-motor-control
bugfix/fix-odometry-calculation
bugfix/resolve-docker-build-issue
hotfix/critical-localization-failure
release/v1.2.0
Workflow
-
Create feature branch from
dev:git checkout dev git pull origin dev git checkout -b feature/your-feature-name -
Work on your changes and commit regularly
-
Push your branch and create a Pull Request to
dev -
After review and approval, merge to
dev -
For releases, create a release branch from
devand merge tomain