You cannot simply tag develop
for 2 reasons: release
branches and hotfixes
branches.
release
branches - once you create your release branch from develop
to prepare for a release, then you have your "release candidate" that will only get limited changes while the main development branch develop
may continue to get additional commits not intended for this release, e.g. changes intended for a future release. Even if you merge the changes from the release
branch into develop
, you will still have additional commits on develop
that aren't intended for release, i.e. you can't tag develop
. Also note that release
branches are temporary branches that go away after release while master
(and develop
) are long-lived "permanent" branches.
hotfix
branches - A similar situation exists for a hotfix - you create a hotfix temporary branch (from your last release) to allow you to isolate which commits go into your hotfix release (just specific bugfixes).
You could tag the final commits of the release
branches and hotfix
branches and/or make those branches long-lived branches, but git-flow model uses master
to track and connect the releases.