Git Archeology: Removing the Sands of Time from Code
How to use Git to carefully remove layer by layer of sand and dirt that has been swept over the code changes over time to unearth them!

Benny (@bmuskalla) has been following his passion of building tools for improving developer productivity. He has been an active committer of the world-class Eclipse IDE (Platform, Java, Git). Over the years, he spent a lot of time building tools, frameworks, and test approaches to help his peers become more effective. TDD and API design are aspects dear to his heart as well as working on open-source software. Benny currently works for Gradle Inc. on the Gradle Build Tool.

How to use Git to carefully remove layer by layer of sand and dirt that has been swept over the code changes over time to unearth them!
Sometimes you need to make code more trivial to see the higher-level patterns that solve the issue at hand more elegantly.

Given I love a good puzzle (especially the Java Puzzles), let’s try some puzzles, using the Java syntax only, without any runtime behavior.