Welcome to the Octopus Deploy Community! Thanks for reaching out about your current branch solution.
To gain more control over what branch is deployed to specific environments, I would recommend the use of Channels and Version Rules within your project. This will allow you the ability to deploy a feature release to your DEV environment while deploying the master to UAT or PROD.
This doc on Channels and implementing Channel Version Rules should help you to achieve the desired solution by selecting the correct versions of packages for the Channel, therefore deploying to the correct Environment.
I hope this helps guide you in the right direction. If you have any further questions about the above please don’t hesitate to let us know.