3 ms·
For my team of about 10 people per app - 1. Never commit to master 2. master is always deployable and gets built and deployed (CI/CD) automatically so its
by idieeasily 10y ago
For my team of about 10 people per app -
1. Never commit to master
2. master is always deployable and gets built and deployed (CI/CD) automatically so its sacred
3. Everyone codes in their own feature branch (username/feature)
4. These are merged into a topic branch (origin/topic_feature) if there are more than 1 person working on a feature together
5. That topic branch is treated as a master - no force pushes, everyone rebases and merges from their personal branches
6. Topic branches are rebased with master periodically/sensibly and often times get built and deployed as beta for feature testing
7. Topic branches are merged into master
There is a code review process at each step.
Developers create merge requests for their personal feature branches into the topic branch and then merge requests for the topic branch into master for periodic code reviews.
We don't force push and maintain history. Proper commit message formats are enforced to ensure that everything is standard and readable.