Strange Loop

A Tale of Three Trees

Git is the version control system most of us use every day. However, there are some strangenesses to it. Raise your hand if you really understand the ‘reset’ command. When it comes down to it, this is one of the most interesting, fundamental and amazing commands that Git has, yet nearly everybody is afraid of it. This is just bad marketing. This talk will de-mystify the ‘reset’ command so that you are not only comfortable using it, but can do new and interesting things with it and in doing so will arrive at a better understanding of the entire Git system. We will explore the Three Trees of Git (HEAD, index, work tree) and all the cool and mind-bending fun you can have with them.

Click to view published talk video

Scott Chacon

Scott Chacon


Scott Chacon is a Git evangelist and developer working at He is the author of the Pro Git book by Apress (, the Git Internals Peepcode PDF as well as the maintainer of the Git homepage ( and the Git Community Book. Scott has presented at, OSCON, RuPy, Symfony Live, Ruby Kaigi, RailsConf, RubyConf, Scotland on Rails and others, as well as a number of local groups and has done corporate training on Git across the country.