X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=README;h=36fef6ec041cd1d0d31c79a98f23a84e9a8691fd;hb=f98d863d2122e1b8781dfb9889df98876a26f315;hp=0ee49d4898c32d9c7321678c2109a87235ad4d84;hpb=348c4c66dacb1810a9bcd592e72f98a465233488;p=git.git diff --git a/README b/README index 0ee49d48..36fef6ec 100644 --- a/README +++ b/README @@ -396,8 +396,48 @@ git-commit-tree will return the name of the object that represents that commit, and you should save it away for later use. Normally, you'd commit a new `HEAD` state, and while git doesn't care where you save the note about that state, in practice we tend to just write the -result to the file `.git/HEAD`, so that we can always see what the -last committed state was. +result to the file pointed at by `.git/HEAD`, so that we can always see +what the last committed state was. + +Here is an ASCII art by Jon Loeliger that illustrates how +various pieces fit together. + +------------ + + commit-tree + commit obj + +----+ + | | + | | + V V + +-----------+ + | Object DB | + | Backing | + | Store | + +-----------+ + ^ + write-tree | | + tree obj | | + | | read-tree + | | tree obj + V + +-----------+ + | Index | + | "cache" | + +-----------+ + update-index ^ + blob obj | | + | | + checkout-index -u | | checkout-index + stat | | blob obj + V + +-----------+ + | Working | + | Directory | + +-----------+ + +------------ + 6) Examining the data ~~~~~~~~~~~~~~~~~~~~~ @@ -424,7 +464,7 @@ tend to be small and fairly self-explanatory. In particular, if you follow the convention of having the top commit name in `.git/HEAD`, you can do - git-cat-file commit $(cat .git/HEAD) + git-cat-file commit HEAD to see what the top commit was.