We're having a debate here on our server development team, and I'm struggling. I've always used master as source of record for production, with the master branch (or some designated release branch) acting as a long-running release branch. I'm in favor of using GitFlow for our process, releasing from master and tagging the releases, but right now, all I have is instinct and past experiences.
I'm not specifically looking for someone to tell me "this process is better than that process", but instead, to provide some evidence as to why a long-running branch (like master) plus tagged releases is a good (or a bad) thing. Does anyone have any specific evidence that it's better or worse than short-running release branches with tags on the short running ones?
edit: Information was requested about our development process: We're actually in flux right now. We've just migrated from SVN to GIT, and are in the process of decomposing a monolith into microservices (or at least decomposed monoliths). Essentially, we support multiple deployment environments, with a clone of each acting as an integration environment, and a development environment independent of the integration environment. The development teams verify work in the local environment and that gets pushed to integration for testing, then services get deployed to production from there. We currently have over 500 services in the monolith, and will likely end up with ~300+ separate microservices or so. Coupled with the dependency projects, we will likely end up with around 600+ separate git projects when we're all finished.