Structure:
master- production staging branch (with tagged releases)dev- main development branch{YOUR_NAME}/{ISSUE}-{FEATURE_NAME}- feature branch
You should work on your feature branch until you have implemented it at which point you land it onto dev via a merge or, preferably, a rebase. Once dev is release-ready it is landed onto master.