Rewriting Git History With Confidence: A Guide
Too Long; Didn't Read
Git is a system for recording snapshots of a filesystem in time. A Git repository has three “states” or “trees”: the index, the staging area and the working tree. A working dir(ectrory) is any directory on our file system which has a Git repo associated with it.