Permanent branches
master - the integration branch used for development. Feature branches are merged back into this branchproduction - support preparation of a new production release (allow for minor bug fixes)
Temporary branches
features - used for specific feature work. Typically, this branches from and merges back into the development branchreleases - used for release tasks and long-term maintenance. Typically, this branches from the development branch and changes are merged back into the development branch
hotfixes - typically used to quickly fix the production branch