I think this would work out well on how you guys release and stuff, but you could have a development -> staging -> production branch. Production has the code that you guys have released at the time. Staging contains all the code ready for the next release. Development contains all the code for a feature in progress.
Basically you would make a new branch for a feature you make (off of the dev branch), make a pull request into development when you're done, and delete the branch after its merged or whatever. When a feature in development is ready, you merge it into staging. When your next release is ready, merge it into production and tag a new release.
I thought it would be more organized for you guys since there's already a dev branch.
I think this would work out well on how you guys release and stuff, but you could have a development -> staging -> production branch. Production has the code that you guys have released at the time. Staging contains all the code ready for the next release. Development contains all the code for a feature in progress.
Basically you would make a new branch for a feature you make (off of the dev branch), make a pull request into development when you're done, and delete the branch after its merged or whatever. When a feature in development is ready, you merge it into staging. When your next release is ready, merge it into production and tag a new release.
I thought it would be more organized for you guys since there's already a dev branch.
(Master ==== production)