Why Release Branches are Merged into Develop in Git Flow

gitgitflow

In the git flow workflow, it is recommended to create branches for releases, and when the release-specific work is done, merge the result into the master and development branch.

I understand why we would merge a release branch into the master branch, rather than rebase master on the tip of the release branch: We don't want people to have history conflicts with master.

But I don't understand why it's recommended to merge the release branch into develop, rather than rebase develop off of master, at the commit merging the release branch into master. That seems more "natural" to me, and simpler to do.

What am I missing?

Best Answer

What am I missing?

It breaks the golden rule of rebasing: Never rebase a public branch.