With the recent announcement that Bitbucket is “sunsetting” Mercurial support, I’ve been looking at ways of hosting remote copies of my repositories on my own. In the short term, I have just cloned my repositories from Bitbucket onto a Raspberry Pi 4 sitting behind my home desktop. I use Pi to run a River of News aggregator for my family. It has plenty of capacity for a task like this.
As a lone developer, I have a workflow that I believe is pretty typical. Most of my development work happens on the “tip” of the “default” branch. It’s just easier to do work on fixing small bugs or adding minor features there. For more significant, more difficult pieces of work, I usually create a “feature branch.” I do this with the expectation that if things get messed up too badly, I can delete the branch and start over without affecting the readiness of the default branch.