Git is a powerful distributed revision control system, which has gained significant adoption among the developer community, especially in open-source projects. The Git documentation is well maintained and provides detailed information on all the options provided, but for individuals new to Git and revision control in general, the learning curve can still be a bit steep.
One key aspect to becoming proficient with Git is understanding how commits, branching, and all the available commands affect the underlying revision history graph. And since working with Git is usually done via command-line, in an IDE or third-party tool, visualizing these changes is usually left to the mind (or imagination) of the user.
There were a couple of tools I recently came across that help close this gap and provide a great learning tool where you can issue Git commands and see visually how they affect the revision history.
The Visualizing Git Concepts with D3 app shown above runs completely in the browser and allows you to “play” in sandboxes tailored to different topics. You enter abbreviate Git commands at a simulated CLI, and the results are displayed alongside in a visualization of the revision history.
And the Learning Git Branching app follows the same concept, but provides a more guided, “gamified” approach where Git is introduced as a series of lessons and challenges to be completed.
Both apps provide a nice, visual way to become familiar with how the various commands reflect on the underlying history.