Proposed version control process
- The team will use a github project for their shared repository,
each team member is responsible for setting up their own github account.
- There will be two team admins, each with full control over the github project
(they will sit down together to create the project repo initially).
- There will be a 'next' branch off main, a 'staging' branch off main,
and a 'dev' branch off of the 'next' branch. Each team member will
create their own branches off 'dev'.
- The main branch will be for the client-facing version,
the 'next' branch is for the one in preparation for the current phase, staging is used
for testing, and the dev branch
is for work-in-progress.
- The two admins can update main, next, and staging: other team members can
only update their own branches and dev.
- When someone thinks their work is ready to push to dev, they do the following:
- pull the current version of dev into their own branch and resolve any issues
- post in the team discord that they're pushing content to dev
- push their branch to dev
- When the team agrees that the current dev is correct for the next phase,
one of the two admins does the following:
- pull main into next (just in case) and resolve any issues
- pull next into dev (just in case) and resolve any issues
- merge dev into next
- merge next into staging
Testing now commences in the staging branch.
- When all the tests in staging pass, one of the two admins
merges next into main.
|