I've been working on a project and trying to open source it soon.
I have always been on the "user" side, but never really have contributed to any open source projects so clueless about a few things.
I've been researching on the web and figured out most of them but am still stumped on one thing:
How should I structure the branch/release cycle? I know that I can't keep committing straight to master once I release, and I also am aware of the benefits of versioning, but I also don't want to make it needlessly complex.
I've looked at some open source projects and a lot of them seem to have
Typically, developers will fork the main repo and work on the
develop or similar branch in their local fork.
Once they are satisfied with the changes they raise a pull request to push the changes to
develop branch on the main repo.
You as the lead developer for the project, review and accept / reject the changes.
You as the lead developer for the project define what all changes will be part of next release. You pick the code from
develop branch push it to
master branch and release code from
master branch. A
tag with the version # helps tracking the versions.
In addition, having a automated builds / deployments will also help.
I have explained a very basic workflow. Hope this helps.