Branching
- master
- Deployable
- or In production
- develop or development
- All new features and fixes branches should merge to development before going into prod
- maybe deployed on dev environment
- Also called 'staging' or work-in-progress(WIP) branch
- At the end of the sprint, this branch should be merged to master (obviously, after QA's testing :P )
- feature / fix / hotfix
- These branches should create occasionally for new features, fixes, and hotfixes
- features and fixes should be merged into development (after going through CI/CD and PR review process) and hotfixes should be directly merged to master for critical prod errors fixs
Pull Requests (PRs) process
- PRs are created from development, features, fixes or hotfixes branches because we can't push directly to the master branch
- process
- create a new branch for new feature/fix/hotfix
- do some work :)
- then create PR for a new feature or bug fix and point development branch as a base branch
- request PR review from colleagues
- then probably reviewers request some changes, work on that, then push new commits (new commits automatically add to your PR)
- request review again :(
- MERGE (if everything goes well :p )
Tasks management
- GitHub issues panel and GitHub projects board with some kanban integrations are AWESOME
- or maybe you're using Trello or Asana for that, It's ok :)
CI / CD