For normal development:
- Merge upstream from upstream to personal local fork
- Push merge changes to personal remote fork
- Create local feature branch on personal fork
- Publish local feature branch to personal remote fork
.. make changes
- Don’t merge back into develop for personal fork
- Issue a pull request to upstream develop from feature branch on personal fork
- Accept pull request on upstream develop
- Merge upstream from upstream to personal local fork
- Push merge changes to personal remote fork
- Kill feature branches on remote fork
For release:
- Create release branch from local upstream develop
- Push release branch to upstream release branch
… perform verification testing
- Finish release by merging into upstream master and develop
- Create release tag
For hot fixes:
- Create upstream hot fix branch from master
- Create local hot fix branch from upstream remote hot fix branch
- Connect local hot fix branch to personal remote hot fix branch
… make changes
- Issue a pull request to upstream hot fix branch
- Accept pull request on upstream hot fix branch
… deploy to staging for testing
6a. Merge upstream hot fix branch to develop 6b. Merge upstream hot fix branch to master
- Kill branch on personal fork, local and remote
For normal development:
- Create feature branch to local
- Publish feature branch to remote
… make changes
- Issue a pull request from feature branch to develop
- Accept pull request on upstream develop
- Kill feature branches on local and remote
For release:
- Create release branch from local develop
- Push release branch to upstream branch
… perform verification testing
- Finish release by merging into upstream master and develop
- Create release tag
For hot fixes:
- Create local hot fix branch on local
- Publish hot fix branch on upstream
… make changes
- Push to remote upstream hot fix branch
… deploy to staging for testing
3a. Issue a pull request to upstream master branch 3b. Issue a pull request to upstream develop branch 4a. Accept pull request on upstream master branch 4b. Accept pull request on upstream develop branch
- Tag hotfix
… deploy to production
- Kill hotfix branch