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 together
maintenance
(or hot-fix
) branch is the one for the current release evolution/bug fixes, with possible merges back to dev
and or master
Note: 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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…