I've noticed something lately looking at some popular projects on GitHub, that there's no
develop branch. And in fact, the GitHub Flow guide doesn't mention it either. From my understanding,
master should always be totally stable and reflect production. If developers are working on feature branches, and then merging those into
master when they're done, that means there's a period of time where features/fixes are being merged into
master and the
master branch is actually newer than production.
Wouldn't it make more sense to have the team create feature/fix branches off of
develop, merge back into that, and then when the next version is totally ready for release,
develop is merged into
master and a tag is created? Imagine if people are merging straight into
master, and a bug is reported in production that becomes difficult to fix because the
master branch codebase has changed significantly. Then the devs just have to tell the user to wait until the next release to see the issue resolved.
EDIT: This question is different than "to branch or not to branch." It specifically addresses people moving away from using the develop branch and the reasons surrounding that, since that was touted as a best practice for a long time.