Branches
MASTER -> Only push to this after each project milestone (i.e. prototype 1) DEVELOPMENT -> Only merge to this after each stable integration
For each separate development task, branch off of development. These ad-hoc branches can be pushed to origin but should be deleted once it has been successfully merged back into development.