The Problem with GitFlow
GitFlow was designed for teams. As a solo developer, maintaining develop, feature, release, and hotfix branches is pure overhead. You need something simpler.
My Workflow
mainis always deployable- Feature work happens on short-lived branches
- Commits are squashed before merging
- Tags mark releases
- That is it
Commit Messages Matter
I follow conventional commits: feat:, fix:, docs:, refactor:. This makes the Git log readable and enables automated changelog generation.
The Power of Interactive Rebase
Before merging any branch, I run git rebase -i to clean up the history. Squash the WIP commits, reword the messages, and ensure each commit tells a clear story.
Automate Deployment
A push to main triggers deployment. No manual steps, no approval gates for personal projects. If the tests pass, it ships.