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:
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.
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.
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.
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
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.