Comment by kleyd
4 months ago
I believe this only works when there are no other uncommitted changes.
So you would need to stash after the fixup commit and pop the stash after rebase. Or use autostash.
4 months ago
I believe this only works when there are no other uncommitted changes.
So you would need to stash after the fixup commit and pop the stash after rebase. Or use autostash.
Sure, but I don't see that as a big deal. It comes down to the fact that git does (interactive) rebases and some merges in the working tree and not in memory. If it is able to do it in memory, then you also don't need to squash, but it needs a point where it could checkout conflicts, without altering data. If you like it to be automatic, you can always set rebase.autoStash or merge.autoStash.
As for effect on the workflow, you can just continue to work and commit and then call autosquash in two weeks, when your about to merge. This also has the benefit, that Git (by default) only alters commits nobody has used yet.
s/squash/stash/ <<< "then you also don't need to squash"