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:
- Increment the version number in
__init__.py
. - Create a source distribution package (
.tar.gz
) by runningsetup.py
. - 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?
Top comments (4)
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).
You should look into git flow atlassian.com/git/tutorials/compar...
Thanks dude, that looks like a good resource.