-
Notifications
You must be signed in to change notification settings - Fork 1
2.5. Standards: Feature Branch Workflow
Ulrond edited this page Oct 30, 2024
·
4 revisions
Feature Branch Workflow
-
Core Principle: All feature development occurs on separate branches (feature branches) that are isolated from the
develop
branch. Quality control is a priority at every stage of the process. -
Process:
-
Branch Creation: A new short-lived branch is created from the
develop
branch for each feature. - Requirements and Design: Key requirements are clearly defined in an issue tracker. Rough solutions are discussed with architecture/engineering leads before implementation to align on design and approach.
- Development: Code changes are made on the feature branch.
- Testing: (Often Manual) The developer thoroughly tests their changes on the feature branch, ensuring quality standards are met.
- Early Pull Request (PR): A PR is created early in the development process to solicit feedback and facilitate early integration.
-
Code Review:
CodeOwners
review the changes in the PR, ensuring adherence to coding standards, design principles, and overall quality. -
Merge: If approved and tests pass, the feature branch is merged into the
develop
branch. Merge conflicts are minimized through the use of git-flow branching strategies and short-lived branches.
-
Branch Creation: A new short-lived branch is created from the
-
Benefits:
-
Isolation: Protects the
develop
branch from unstable code. - Clear History: Feature-specific changes are easily tracked.
- Easier Collaboration: Multiple developers can work on different features concurrently.
-
Quality Assurance: Prioritizing quality control at all stages minimizes the risk of introducing errors into the
develop
branch. - Early Feedback: Early PRs and discussions with leads enable faster feedback and course correction if needed.
- Reduced Merge Conflicts: Git-flow and short-lived branches help mitigate merge conflicts.
-
Controlled Integration: Slower, more deliberate integration ensures thorough testing and quality before merging into the
develop
branch.
-
Isolation: Protects the
-
Drawbacks:
- Potential for Delays: If early PRs are not reviewed promptly or if extensive changes are required after review, the development cycle might be extended.
- Requires Discipline: The team needs to adhere to the defined workflow and prioritize quality control practices.
For more information on the commands to use see FAQ: Git-Flow: Developers Branching Model