I just revised my previous visualization about git with an eye towards better visual design and usability.

Here’s a little history: As I dove into learning git, I was initially confused about where my code was. I felt pretty confident that git hadn’t lost anything, but less confident I could get it back readily. Sure, it’s distributed, so I expect my code will be more places. But there was also this “index” and “stash”– how do those relate? It’s a little complex coming from Subversion or CVS.

Once I figured out the basic locations that things could be, understanding the commands is a second challenge. The commands tend to work on one or two targets, moving code from one to the other. But they aren’t named in any obvious way, except for the “stash” commands. To make sense of these, I mapped them onto the locations. In the visualization, just click on “remote repository” to see all the commands that affect it.

Out of these two frustrations comes my visualization.