Here bellow we can see a typical workflow where the red circle represent bugs.

Do you think if this basic workflow where it’s merging features directly into master to later be deployed and tested is it enought good?
With this basic workflow approach the master branch has many commits and some of them could has issues developed during the sprint. GitFlow is other alternative to this workflow which help to have a cleanest version of master and let see more information about how does it works GitFlow.
Continuous delivery with Gitflow
Instead of a single master branch, this approach uses two branches to track the history of the project. While the master branch contains tags and/or commits that record the project’s official release history, a shared integration branch (usually called “develop branch“) gives your team a place to ferret out bugs and incompatible changes.

Gitflow model has the below enhancements:
- Develop branch
- used for deploy and test the feature during the sprint
- fix issues into “develop” instead of “master”
- Master branch
- Track the application history
- cleanest version of develop and is more stable
- Robust since the feature was tested into develop master has less issues
Using GitFlow once we finished a feature in order to be tested we should do this steps :
- Creating a pull request when merging your feature branch to develop is standard practice.
- Master Release version: there are 2 options:
- Create a pull Request merging develop with Master
- you can automatically create tags on master based on each successful build of develop and deploy from those tags right away. Or, you can wait until several features have been successfully been added to develop, and create the tag by hand.
The GREATEST ENHANCEMENT will be if we deploy and test the feature branch before than merge the changes to the Development branch
More information about GitFlow Workflow in:
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
https://www.atlassian.com/continuous-delivery/continuous-delivery-workflows-with-feature-branching-and-gitflow

