Branch Policy
With the goal of maintaining the completeness and reliability of the project code, the use of branch policy was proposed. This Branches Policy should guide developers in organizing their contributions to the repository.
Note: The branchs policy was designed to work in conjunction with the git flow tool, its documentation and more information can be accessed here.
-
master
- Main branch of the repository where only consolidated and tested software integration will be allowed. This branch will be exclusively for the delivery of releases, that is, a greater set of functionalities that integrate the software. Here will be the stable version of the software. -
develop
- Branch for the integration of new functionalities, where it will be allowed to deliver the features developed and that are in an advanced stage of completeness. It will be the base branch for the beginning of the development of the features and of the correction of bugs. The releases will also be merged here. -
feature/<feature-name>
- Branch used for the development of new features. If the feature has been proposed by a issue of the repository and accepted, the name should contain the issue number. e.g.:feature/1-<new-feature-name>
(whereas feature has been requested in issue) -
bugfix/<bug-name>
- Branch used to fix low/medium urgency bugs that are not present in the master branch. If the bug has been reported by a issue from the repository the name should contain the issue number. e.g.:bugfix/1-<bugfix-name>
(whereas feature has been requested in issue) -
hotfix/<bug-name>
- Branch used to fix high-urgency bugs that are present in the master branch. If the bug has been reported by a issue from the repository the name should contain the issue number. e.g.:hotfix/1-<hotfix-name>
(whereas feature has been requested in issue) -
release/<release-version>
- Branch where final adjustments/build will be made prior to delivery of a software product release. The branch name will be the version of the release to be delivered. -
support/<theme-or-kind>
- Branch where support tasks related to the software will be performed, such as documentation development, configuration management corrections, and so on. -
improvement/<improvement-name>
- Branch used for the improvement of functionalities or documentation project. If the improvement has been proposed by a issue of the repository, the name should contain the issue number. e.g.:improvement/1-<improvement-name>
(whereas feature has been requested in issue)