Branching Scheme

The branching scheme that we use consists of two permanent branches, the master and development branch. The master branch serves as a release branch and should only be touched by the lead and QA programmer. The Development branch is the primary branch that people make changes to. As with the Master branch, the Development branch should only be changed by merging other branches into it. Even though the Development branch is not a release branch it should still be considered a stable branch. Any developer is allowed to make changes to the Development branch. Feature branches is where all developers will do their changes. These branch out from the Development branch and will usually only exist locally on the developer's machine.