this post was submitted on 18 Jul 2026
70 points (100.0% liked)
Programming
27755 readers
459 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
You might find
topgituseful for maintaining separate interdependent feature branches: https://mackyle.github.io/topgit/topgit.htmlhttps://github.com/mackyle/topgit
It adds some simple commands that manage all of the base and head refs of the branches and automatically propagates merges up the tree when you modify a branch lower down. It has been around for quite a while so it’s fairly stable by now.
Most importantly, it doesn’t do any history rewriting, so you keep the full commit history of your branches while making it easy for other contributors to make commits to the same set of feature branches concurrently.
Oh, nice! Does this do something like Git Butler where you can have multiple branches "checked out" simultaneously, and keep track of which changes belong to which of those branches as you work? But maybe without the commitment that Git Butler requires to using its tooling?
I've never used Git Butler, but looking at their site it looks like a whole UI layer on top of git.
Topgit is just a small set of shell scripts that implement the various
tgcommands for managing your patch branches.It's based around the idea of patch queues, but since it's using git branches you can have a tree of patch branches instead of just a linear patch queue.