this post was submitted on 18 Jul 2026
61 points (100.0% liked)
Programming
27755 readers
468 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
The last big update to my git workflow was when I discovered --update-refs as it makes maintaining a stack of feature branches much easier. So far I really only have one "main" dev branch and then peel off the sub-branches at they need merging upstream.
However I shall have to investigate how the history commands are exposed in magit. I can see it being useful if you have long held branches that take a while to upstream but are useful to have in your trees.
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?