On Nov 27, 2017, at 00:35, Igor Djordjevic <igor.d.djordjevic@xxxxxxxxx> wrote: > Approach discussed here could have a few more useful applications, > but one seems to be standing out the most - in case where multiple > topic branches are temporarily merged for integration testing, it > could be very useful to be able to post "hotfix" commits to merged > branches directly, _without actually switching to them_ (and thus > without touching working tree files), and still keeping everything > merged, in one go. I'm actually doing the described workflow quite often with git rebase when working on a topic. Given the following structure: ---o (master) \ o---A---B---C (topic) When I want to make changes to commit A one option is to make them directly on topic, then do "git commit --fixup A", and then eventual interactive rebase onto master will clean them up: ---o (master) \ o---A---B---C---f!A (topic) However, sometimes this breaks when changes in B or C conflict somehow with A (which may happen quite a lot during development of a topic), so the rebase will not apply cleanly. So sometimes I make a temporary branch from A, commit the fixup there: ---o (master) \ o---A---B---C (topic) \ f!A (temp) and then use "git rebase --onto temp A topic" to move the topic back on track: ---o (master) \ o---A---f!A (temp) \ B'---C' (topic) after which the final cleanup rebase is much easier to do. Obviously, all the branch switching and rebasing does take its tall on file modifications.