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:
- The master branch contains all currently working code for demos and MP4. It should only be merged to from develop.
- Develop contains all working code that is currently in development. If some bad code gets pushed by accident, it is easy to fix.
- 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).
- 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.
- Once the request has been approved and merged, the new code can be deployed to the VM.