We run a feature branch -> release branch strategy, then right before the final push of the code into prod we merge the release branch with the master branch to ensure there is no merge conflict. The merge to master does not trigger any CICD, that is handled by our orchastration software. From the git branches, commits to a feature branch build and deploy to a sandbox env. Commits to a release branch trigger build and deploy to a dev environment, then that build artifact is promoted up the environments up to and including prod by our orchastration software.