Git Flow
At ExtraaEdge we use the Git as our version control and Azure DevOps to manage the repositories.
We use GitFlow to manage the branches and releases.
Standard branches details
Following are the reserved branches and code can be merged on these branches by Admins or Release Managers
Branch
Details
master
Main branch from where the code is deployed to production
develop
All the latest updated code under development is maintained on this branch
test_release
Code is deployed for Testing from this branch
staging_release
Code is deployed for Sanity from this branch
uat_release
Code is deployed on the flighting domain from this branch
release-<num>
Once release is deployed on production, the release branch is created
Feature Branches
Developers need to create respective feature branches from the develop branches before starting a task/feature.
The feature branch is to be deleted once the PR is merged in develop
Branch naming convention
<name_initials>_<ui>_task_name
Ex: rp_login_session
Detailed Flow
At time of starting any new task, developer is needed to create a new branch from develop and name it as given above.
Once task is completed, developer need to push the code on the respective feature branch.
A Pull Request(PR) is to be created from that branch to develop and assigned to Code Reviewers in the team.
Code Reviewer assigns comments to the PR and developer is expected to update and push the code again.
Feature branch is deleted once the code is merged in develop branch.
Release Manager Role
Role of a Release Manager is to manage and monitor code merges and deployments for the particular sprint.
The role is rotated and assigned to a different developer in every sprint.
RM has to make sure that code on the standard branches is maintained and latest.
Every release going to QA & Staging to be given through the standard branches is the responsibility of RM.
RM has temporary rights to merge to above standard branches.
Last updated
Was this helpful?