I have a very messy git history. I want to squash a bunch of older commits (not including the last one).
I know how to squash my last n commits. But this is different. Here I have commits consecutively n1 to n2 which I want to squash into one, while after n2 I have a history of commits that I want to preserve up to the last one.
So, if my current history looks like this:
---- n1 --- n2 -------- m
I want to squash n1 to n2 so it ends up looking like this:
---- n1n2 -------- m
where n1n2 is a single commit containing the squashed contents from n1 to n2.
How should I do this? What are the consequences on the history from n2 to m?
That is, will the hash of every commit from n2 to m change as a consequence of what I want to do?