I think git flow has a lot of merit despite being classified as outdated by many.
Many modern workflows literally have has you prematurely deploying experimental code into production. Hidden behind feature flags. Release branches may not be needed when you do that, but that's a transfer of complexity, not an elimination.
Also the alternatives usually involve a lot of cherry picking. That's nice, but cherry picking requires good understanding of the code to properly do. Complexity moved away from one area into another again.
Comments
I think git flow has a lot of merit despite being classified as outdated by many.
Many modern workflows literally have has you prematurely deploying experimental code into production. Hidden behind feature flags. Release branches may not be needed when you do that, but that's a transfer of complexity, not an elimination.
Also the alternatives usually involve a lot of cherry picking. That's nice, but cherry picking requires good understanding of the code to properly do. Complexity moved away from one area into another again.