Reputation: 5326
I'm starting using git flow and I understand that doing:
git flow feature start my-feature
git flow feature finish my-feature
I create a feature and then, when i've finished my changes, I merge it with the develop branch. The finish flow command literally delete the feature branch after the merge action.
My question is: is there any way using git flow to merge my feature with develop without deleting it after merge.
And my second question would be: is this workflow correct? I mean, is it right keeping alive feature branches while merging with develop, just to update the 'main' branch with some changes and keeping to work on the feature branch?
Upvotes: 20
Views: 12417
Reputation: 174289
Simply use git flow feature finish -k my-feature
Reference: https://github.com/nvie/gitflow/wiki/Command-Line-Arguments
About your second question:
You normally don't merge feature branches repeatedly into develop
. You merge develop
into the feature branches (i.e. the other way around) or rebase the feature branches onto the HEAD
of develop
(recommended). The only time when you merge a feature branch into develop
is when you finished the development of the feature.
If you merge feature branches into develop
you completely remove the benefit of having a feature branch and you just could have developed directly on develop
.
If you feel you have the need to merge from a feature branch into develop
you most likely made changes that are not directly related to that specific feature and should have been made in develop
in the first place.
Upvotes: 29