Git keeps track of four objects: a blob, a tree, a commit, and a tag. To answer your question on how it keeps track of changes here’s a quote from that link: The tree object is how Git keeps track of file names and directories. There is a tree object for each directory.Click to see full answer. Thereof, how does Git keep track of files?When you commit, git stores snapshots of the entire file, it does not store diffs from the previous commit. As a repository grows, the object count grows exponentially and clearly it becomes inefficient to store the data as loose object files. Hence, git packs them and stores them as a . pack file.Similarly, how do I add all files to a Git track? Add only tracked files and ignore untracked [email protected]:~/project$ git add -u. [email protected]:~/project$ git status. On branch develop. Changes to be committed: (use “git reset HEAD