BRANCHING AND MERGING
- Master reflects currently what is there in the production and it has most up-to-date copy of the production
- From master will create test it contain the code which is ready get deployed on test environments
- From test we will branch out development when the development is stable than we will prompt it to test and then to master.
- During the development phase we may want to work on different feature so we can create feature wise branch like feature1 and feature2
- Further to support multiple release we create branches like REL1.0 and REL2.0 from the master for the specific release.
- Any bug fix for Rel1.0 will go to this branch and then we will merge back the changes to REL2.0 and tehe to development and then to feature1 and feature2
- Further when master is ready for REL2.0 we will create branch REL2.0 from master
- We commit to feature1 and that point of we are going to be one commit ahead for development we will simply do a fast-forward of the development to the feature1 branch