I advocate for creating a branch in the main repository called develop which will be the branch to merge all changes into. In this schema, main would be reserved for commits tied directly to public builds in a 1-to-1 ratio.
Pros:
- Allows maintainers to trust that commits in
main are operational
- Assists maintainers in tracking down bugs identified in a public release
- Simplifies search for regressions via binary search of release commits
- Provides a simplified view into the repository for non-technical observers
Cons:
- Slight complexity increase for creating a release version
- Slight complexity increase for repository management
- May cause initial confusion for new maintainers unfamiliar with this workflow
I advocate for creating a branch in the main repository called
developwhich will be the branch to merge all changes into. In this schema,mainwould be reserved for commits tied directly to public builds in a 1-to-1 ratio.Pros:
mainare operationalCons: