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.