I build things with my hands. The human behind Shift - https://laravelshift.com, master of Git - https://gettinggit.com, and author of "BaseCode" - https://basecodefieldguide.com
I'd still use GitHub Flow. The rest is a deployment process. So promote the master branch up through the environments to get signed off. Once approved then deploy master to Prod.
Admittedly the happy path is easy. Things get hard when a feature is not approved. In which case you could use Git to revert it or adopt a strategy like feature flags.
In the end, I don't consider this solely a Git problem. It's something that needs to be solved through code, deployment, and business strategies.
I'd still use GitHub Flow. The rest is a deployment process. So promote the
masterbranch up through the environments to get signed off. Once approved then deploymasterto Prod.Admittedly the happy path is easy. Things get hard when a feature is not approved. In which case you could use Git to
revertit or adopt a strategy like feature flags.In the end, I don't consider this solely a Git problem. It's something that needs to be solved through code, deployment, and business strategies.
'It's something that needs to be solved through code, deployment, and business strategies'
thanks for an honest answer.