- Anything on master is deployable
- To work on something new, create a descriptively named branch off of master (i.e. stream-item-margins)
- Commit to that branch locally and regularly push your work to the same named branch on the server
- When you need feedback or help, or you think the branch is ready for merging, open a pull request
- After someone else has reviewed and signed off on the feature, you can merge it into master
- Once it is merged and pushed to ‘master’ on the origin, you can and should deploy immediately
- Each feature or hot fix is worked on in dev environment that is similar to production, that allows business owner direct access for testing and approval. Changes are committed locally.
- Once approved by the business owner, commit and push changes to master on origin, and then deploy to production immediately.
- All work is done in a branch. Features are branched off develop. Hot fixes are treated different and are branched off master.
- Features are merged back into develop after approval.
- Develop is merged into a release branch.
- Hot fixes are merged back into master, but also must be merged into develop and the release branch.
- The release branch is merged into master.
- Master is deployed to production.
- All development happens on master
- feature branches are merged off and then merged back into master
- master is branched into a new release branch
- release branches are then merged into a branch called "production" after testing