DEV Community

Cover image for Branching workflows for Git
Manik Malhotra
Manik Malhotra

Posted on • Edited on

Branching workflows for Git

Hello, I am an android developer, working in a startup.

I have made a few changes in the git branching workflow for better development and testing management.

Branch name and functionalities:

alpha
Merge all the features and bugfixes from all developers.
Build made from this branch will be unstable under development.
At any point in time, in case of unresolvable conflicts, this branch can be made the same copy as the development branch and devs can again merge their work from features and bugfixes branches.

development
Merge all the features and bugfixes from all developers after it is been tested from the developers end. Pull request should be generated before merging.
Build made from this branch will be stable under development and can be given to tester for testing.

master
Merge development branch after tester gives stable signoff to the app. Pull request should be generated before merging.
Build made from this branch will be release app that will be uploaded to the play store.

features/feature-title
Feature branches are used when developing a new feature or enhancement which has the potential of a development lifespan longer than a single deployment.
This branch is extracted from the development branch merged to alpha for testing and finally pull request is created to merge with the development branch and the branch is closed after merging to development

bugfix/bug-short-title
Bug branches will be created when there is a bug on the live site that should be fixed and merged into the next deployment.
Same as a feature branch, this branch is extracted from the development branch merged to alpha for testing, and finally pull request is created to merge with the development branch, and the branch is closed after merging to development.

Android Developers can name there builds, for uploading it to firebase app distribution(App Tester), as:

alpha-1.0.0 > Unstable under development > Git branch: alpha

beta-1.0.0 > Stable under development > Git branch: development

rc-1.0.0 > Released app(uploaded to play store) > Git branch: master

Thanks for Reading
I thought to share my experience with you all. I will appreciate your thoughts on this workflow.

Stay Health.
Keep Coding.

Top comments (1)

Collapse
 
nikhil0011 profile image
Nikhil

Good going!