I\'ve been reading this popular document over and over to try and draft my own git workflow.
I think I have got it down, but I am still a little lost. Here is my cur
Your summary is accurate: you can find illustrated in this cheatsheet.
Be aware though that in order to test your feature with the other ones, you have to merge them to develop (git flow feature finish MYFEATURE
).
There is another workflow (the Git workflow) which allows for a better feature promotion (to develop, then to release)
The difference is:
feature
branches are merged in devel
(where they discover if they can work together or not), then release
is created from devel
(at which point removing features becomes complex) before being merged back to devel
(and master
).feature
branches are merged to a "public
" "alpha" branch, which is reset after each release (meaning, deleted/recreated on top of the new release)feature
branches are merged to a "next
" ("beta") branch for integration/acceptance test. That "next
" ("beta") branch is similarly recreated on top of master
after each new release.feature
branches are merged to master
, to prepare the next release.The "public
" and "next
" (aka 'devel
') branches are never merged to master
. They are "transient" or "ephemeral", always deleted/recreated.
Only feature
branches are merged to the lifecycle branches (public
, next
, master
).
That means at any time you can chose to drop a feature
between one stage of the development lifecycle and the next.