objects filenames & directory structures are stored in tree commit points to a tree & contains metadata like author, date, message & parent commit. references points to commits; tags, branches, head. .git directory contains data about our repository
compressing these files together, into a Packfile. The Packfile stores the object, and deltas, or the differences between one version of the file and the next. Packfiles are generated when: you have too many objects, during gc, or during a push to a remote
next commit delete a file in the next commit rename a file in next commit add content interactively unstage files Working Area Staging Area git add git checkout