-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Branches Developing
In the revel project there should only be the following branches
Long term branches
Short term branches
The Master branch is a long term branch containing the latest version of the code.
The Develop branch is a long term branch containing the actively developed code. All pull requests should target the Develop branch unless it addresses issues found in the Release or Hotfix
The Release branch is a short term branch It has a naming convention like release/1.0.0. They are only used to test the final product before merging into the master branch The Release Conductor creates a new release after they have merged all the pull requests destined for that release.
When a release is ready for production the Release Conductor does the following:
- Updates the version information inside of the package (if needed)
- Creates a pull request to merge the Release into the Master branch
- Merges the pull request to master
- Makes sure travis passes after merge
- Creates a new release tag following the convention listed here
- Deletes the old release branch
- Merge the Master branch back into the Develop branch
Hotfix are special case branches which are created to address an issue in the Master branch, they are the only branch created from the master
The workflow for a hotfix would be
-
Tech Lead
- creates a new Hotfix branch from master format hotfix/<current_release>_1
-
Developer
- makes this branch the "upstream" for his repository.
- creates a unit test that reproduces the issue, fixes the issue, and pushes the changes to his forked repository
- creates a pull request targeting this branch
- Tech Lead
If a user is using version 1, and the bug is fixed in version 2 but changing to version 2 is not possible a user can try to cherry-pick the change to there current version. It is not guaranteed that this will always work.
Development
Resources
Community