Have new ideas but directly implementing them won’t bring the expected results always!!! Bugs , vulnerabilities can be anywhere so here BRANCHING STRATEGIES comes in the picture where different ideas and concepts are widely accepted and when all are tested and implemented on other environments then are finally merged to the master and released for production.
GIT FLOW : Firstly Designed by Vincent Driessen. In Driessen model ,there are 2 permanent branches :
· Master Branch : From where software is released for production
· Develop/Dev Branch : Branch where developers works on
Other Non-Permanent branches :
· Feature : Branch to develop new features
· Release : Branch support preparation of new production release
· Hotfix/Patch : Production issues branch that need immediate fix
before planned release.
So the workflow initially starts from the single develop branch. Developers create feature branches for each new feature and group of features. We can name feature branches based on the feature we are working on. These branches are merged with the develop branch. Once a mass or set of related features are built and merged , a new release branch is created. Release branch is now tested and defects are logged which are fixed over here itself and merged back to the develop branch. Once the team is confirmed with the quality of the release is good, a new master branch is created from the release branch. The master branch is tagged with the version and deployed to production. If any defect or bug comes then a hotfix branch is created from master to fix all those issues and merged back into master and released.
I hope this makes a bit of clear understanding. Feel free to connect and correct if wrong anywhere.