4

Git flow uses a certain branch (master) for stable releases. Each release is tagged by a version number. The git flow scheme further uses release branches branched-off from develop to prepare a release. However, apparently those release branches are deleted when the release is finished (after the content has been merged back into both master and develop).

Hotfix branches are there to deal with issues in production release and are both branched-off and merged-into master. But apparently theser are mainly done to prepare a new minor release version.

However, how should I deal with minor fixes that do not require a new release? Imagine that I want to collect several small bugfixes until I release a new minor version. Wouldn't it be useful to keep the release branch for that? Or is there any other/better solution?

Stefan
  • 1,131
  • 2
  • 12
  • 30
  • Do you want to segregate the minor bugfixes you're accumulating from the rest of mainstream development? I could see these bugfixes being pushed into `feature` branches and incorporated into a release, as long as that meets your overall requirements. If the abuse of the term "feature" bothers you, maybe you can create another group of branches similar to `feature` called `bugfix`? – Matt G. Nov 13 '14 at 19:18
  • Yes. I feel that accumulating minor bugfixes until a minor release is justified should be done separately from the development on the `develop` branch in order to minimize confusion. – Stefan Nov 13 '14 at 19:21
  • Yes but wouldn't it make more sense to use the continue the original e.g. `release/1.1` with the commits for the bugfixes? Minor release like `1.1.1`, `1.1.2` would all branch-off from that branch. – Stefan Nov 13 '14 at 19:23
  • 1
    If a release has already been deployed to production, keeping that branch around is confusing in the fact that you're implying that work is still ongoing (i.e., you're in the QA process). If you want to collect bugfixes for a deployed release and deploy those bugfixes all at once, maybe the answer is instead to create a new group of branches in the same manner as `hotfix` but called `rollup`. A `rollup` branch would come from `master` and be host to potentially several hotfixes. Does this make any sense, or am I off in the woods now? – Matt G. Nov 13 '14 at 19:29
  • 1
    Thanks, that makes sense to me. I think removing a release branch once the release is ready is reasonable. For minor release one may create a new release branch of the version tag from master/v1.1 – Stefan Nov 19 '14 at 12:38

0 Answers0