I use commits on local git branch like rock climbing: they're anchor points to help you move forwards. Checkpointing work is very effective.