Re: [SCRIPT/RFC 0/3] git-commit --onto-parent (three-way merge, no working tree file changes)
- Date: Fri, 1 Dec 2017 00:40:21 +0200
- From: Chris Nerwert <a.lozovsky@xxxxxxxxx>
- Subject: Re: [SCRIPT/RFC 0/3] git-commit --onto-parent (three-way merge, no working tree file changes)
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:
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:
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:
and then use "git rebase --onto temp A topic" to move the topic back on track:
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.