This tutorial should be enough to perform basic distributed
revision control for your projects. However, to fully understand
the depth and power of Git you need to understand two simple
ideas on which it is based:
• The object database is the rather elegant system used to
store the history of your project—files, directories, and
commits.
• The index file is a cache of the state of a directory tree,
used to create commits, check out working directories, and
hold the various trees involved in a merge.
Part two of this tutorial explains the object database, the index
file, and a few other odds and ends that you'll need to make the
most of Git. You can find it at gittutorial-2(7).
If you don't want to continue with that right away, a few other
digressions that may be interesting at this point are:
• git-format-patch(1), git-am(1): These convert series of git
commits into emailed patches, and vice versa, useful for
projects such as the Linux kernel which rely heavily on
emailed patches.
• git-bisect(1): When there is a regression in your project,
one way to track down the bug is by searching through the
history to find the exact commit that's to blame. Git bisect
can help you perform a binary search for that commit. It is
smart enough to perform a close-to-optimal search even in the
case of complex non-linear history with lots of merged
branches.
• gitworkflows(7): Gives an overview of recommended workflows.
• giteveryday(7): Everyday Git with 20 Commands Or So.
• gitcvs-migration(7): Git for CVS users.