I\'m using this model in my team:
Today my project stats is following:
If I create feature from develop branch I will got functionalities that don't should go to production in this new feature branch. Remember that I can't send develop to production yet
Unhappy the big problem is not merge but the functionalities that can't go to master. How can I send only this change without send all other features inside a develop or release branch?
That means gitflow is not the workflow for you.
Switch to the gitworkflow (one word, illustrated here).
See more at rocketraman/gitworkflow.
That kind of workflow (where you don't merge dev
to master
, but where you merge only feature branch to dev
, then if selected, to master
, in order to be able to drop easily feature branches not ready for the next release) is implemented in the Git repo itself.
(source: Gitworkflow: A Task-Oriented Primer)
You have:
master
is the branch ready to be deployed into production at any time: the next release, with a selected set of feature branches merged in master
.dev
(or integration branch, or 'next
') is the one where the feature branch selected for the next release are tested togethermaintenance
(or hot-fix
) branch is the one for the current release evolution/bug fixes, with possible merges back to dev and or masterNote: in that distributed workflow, you can commit whenever you want and push to a personal branch some WIP (Work In Progress) without issue: you will be able to reorganize (git rebase) your commits before making them part of a feature branch.