How do you guys manage your versions and deployments? I like to keep master the most up-to-date branch, that way any other dev working on a distant feature can fetch master and branch/rebase off of it without asking (and avoid merge conflicts). But I know others who create separate branches for versions they intend to deploy.
Pros/Cons seem to be:
Master most up-to-date - It's obvious where the most up-to-date code is, but if you need to deploy an immediate fix/feature, you have to branch off of the last tag, which may be dozens of commits behind (awkward, feel like I'm in no one's land), then merge into master later.
Version branch most up-to-date: More transparency and organization around deploying immediate intermediate versions. Master is not the most bleeding edge, rather it's the latest deployed code.
Maybe it's a function of release frequency. If you're super agile, you keep master up-to-date, but if you spend weeks/months on a release, perhaps the 2nd option is better.
Btw, this article has nice pictures, but I'm not 100% converted:
https://nvie.com/posts/a-successful-...anching-model/
.