Like many software developers you have a compulsion to keep your code clean and very well organized. This carries over into a desire to keep your code history well groomed.
Last night you came home after having a few too many pints of Guinness at the local pub and started coding, producing a handful of snapshots along the way.
This morning, a review of the code you wrote last night makes you cringe a little bit.
The code is good overall, but you made a lot of mistakes early on that you corrected in later snapshots.