✨Feature✨ Branch Approach#
This section presents one particular development approach with the aim to introduce a development workflow that facilitates the implementation of best practices, is both intuitive to follow and easy to implement.
However, there exists a plethora of approaches, more or less similar to this one and we recommend Martin Fowler’s blog about “Patterns for Managing Source Code Branches” for anyone that is interested in learning more about them.
Since we would like to provide an approach that can be used in most cases, we will describe the Feature Branch Approach somewhat loosely, in particular we will not insist of a clear definition of the term feature.
In simple terms, the Feature Branch Approach describes:
How to manage and organize changes in a controlled and efficient way.
Create a separate branch for each new feature or change, allowing for independent development and testing.
This idea aims to implement the best practice regarding the separation of changes, that is to use aggregate and track changes belonging to a specific subject (or feature in this case) in a dedicated branch.
Isolate changes and reduce conflicts
Enable parallel development and testing
Improve code quality and stability
Simplify merging and deployment
Create a new branch for a specific feature or change
Apply the concept of a healthy reference to the feature branch
Make incremental changes to the branch, testing and refining as needed
Merge the branch into the main codebase when complete
Repeat the process for each new feature or change