Git: Is branch/merge/release cycle necessary for solo developer projects?

prahladyeri profile image Prahlad Yeri ・1 min read

I'm a solo freelance dev who also contributes to open source by maintaining projects on github. Unlike what most other projects follow (branch, merge and release), I follow a simple "tag and release" workflow.

For example, when the new code is ready & tested, I do the following:

  1. Increment the version number in __init__.py.
  2. Create a source distribution package (.tar.gz) by running setup.py.
  3. Release it to PyPi and then finally tag the code to the version (such as "1.0.3", etc.).

For example, you can see the project cfgsaver, the latest tag is "1.0.2" which will be updated to "1.0.3" in the next version.

How can I improve the workflow by following a branch/merge/release cycle instead. Which process do you think is better and why?


markdown guide

If you're not experiencing problems with your setup, why should you change it? I do my projects very similarly, except that deployment is taken care of automatically by the build server.


Yep, I'm not changing my setup. I'm just trying to understand the benefits of the other kind of setup that is followed by many devs (branch/merge/release).