It's not a book, just a series of five short blog posts. Part 1 explains precisely where files live: https://alexwlchan.net/a-plumbers-guide-to-git/1-the-git-obj...
$ mkdir animals $ cd animals $ git init $ echo "Big blue basilisks bawl in the basement" > animals.txt $ git hash-object -w animals.txt b13311e04762c322493e8562e6ce145a899ce570 $ find .git/objects -type f .git/objects/b1/3311e04762c322493e8562e6ce145a899ce570 $ rm animals.txt $ git cat-file -p b13311e04762c322493e8562e6ce145a899ce570 > animals.txt
Parts 2 through 5 are equally illuminating.
It's not a book, just a series of five short blog posts. Part 1 explains precisely where files live: https://alexwlchan.net/a-plumbers-guide-to-git/1-the-git-obj...
Congratulations, you just did a `git restore animals.txt` manually.Parts 2 through 5 are equally illuminating.