In order to keep the git repo organized and prevent exponential amount extraneous branches, it is important to have a unified workflow on gitlab. The structure proposed and implemented by sdmay24-32 is as follows:
1. The master branch contains all currently working code for demos and MP4. It should only be merged to from develop.
2. Develop contains all working code that is currently in development. If some bad code gets pushed by accident, it is easy to fix.
3. Anytime a team member would like to add a feature, they branch off develop, add their feature, test it, then merge back into develop (after a code review ideally).
4. When a significant amount of features have been added or deployment for MP4 is needed, no more feature branches are made and develop is thoroughly tested by multiple team members before creating a merge request to master.
5. Once the request has been approved and merged, the new code can be deployed to the VM.