I'm trying to rebase -i
a few commits that occurred a while back in my history. Say I have a log like this:
* 5e32fb0 (HEAD -> master) Add latest feature
* 106c31a Add new feature
* 2bdac33 Add great feature
...100 other commits...
* 64bd9e7 Add test 3
* 3e1066e Add test 2
* 26c612d Add test 1
* 694bdda Initialize repo
and I want to squash the 3 test commits. In these circumstances, git rebase -i HEAD~106
isn't very practical. What I'm looking for instead is something like git rebase -i 64bd9e7:26c612d
.
Does git have this sort of behaviour, and if so, how can I use it?
I had a look at this post, but it didn't answer my question.
In order to squash those three commits, you'll need to re-write history for the entire repository. That is, all the commit hashes for commits after those test commits will be modified. The most straight-forward way to do it, in my opinion, is to:
64bd9e7
.64bd9e7
.