Feature Branch
A feature branch is a copy of a branch where you can work on a new feature-specific code until it is complete. When developers write code, they're doing so on a branch. To avoid overwriting each other's work, engineers create copies of the source code called branches. They can then work on their own work separately from the master branch. Once it’s ready, they can merge it into the master branch.
Feature Branch Development Process
In feature branch development, individual engineers or teams of engineers do not merge their branches until the feature is complete. In other words, they can work on separate copies of a feature for long stretches of time. If there is a conflict between the features they're working on, developers must go back to their original feature branches and apply patches in order to resolve the conflict before merging their changes into the trunk or master copy.
Feature branch development and merging are done in version control software such as Git and Github. Branches are created for each feature branch, which is used to develop the feature. Once the feature is complete, a merge can be made from the feature branch into the main branch of code.
Once the proposed changes are made to the code, a developer submits the changes as a pull request, or a request to have other developers on the team review the proposed changes to ensure that they are not breaking any existing code, and that they will not create any new errors in the main branch. Once it’s been approved, it will be moved to the main branch.
Continuous Integration & Feature Branches
One alternative to the feature branch workflow is continuous integration, which is a software development methodology that involves continuously integrated new code changes into the mainline or trunk.
Continuous integration, also known as trunk-based development, helps to minimize merge conflicts and cut down on code branching. It's a great tool for merging code changes, but it's also a hassle if you need to roll back changes made without accidentally unearthing conflicts. For these reasons, continuous integration is best used as a means of managing code changes rather than as a day-to-day practice.
Looking To Upgrade Your Current Stack?
The #1 platform for delivering high-quality software releases, instantly.
All-In-One Product Growth
• Visual, Code-free A/B testing on web and mobile
• Both Client Side and Server Side Options
• Flexible API and SDK-free deployments
• Connected messaging features
Fastest & Most Reliable Feature Management System
• Edge deployment for sub 50ms response times
• Enterprise grade performance SLA
• 99.9% uptime guarantee
Personalization Across All Your Users
• Personalize every experiment and experience
• No audience reach limits
• No domain or sub-domain limits
• No user seat limits
Real-Time Slack Support
• Best in class service
• Responsive support and customer success team
• Training and onboarding
• Taplytics Growth Framework assessment
Full Suite of Seamless Integrations
• mParticle
• Segment
• Mixpanel
• Amplitude
• Google Analytics
• Adobe Analytics and more
Protect Customer Privacy
• Balance personalization & experimentation with customer data privacy
• GDPR
• EU Privacy Shield
• HIPAA compliant