Although many people disregard the preciousness of commits and treat them as save points, they have great value when used correctly. Commits are not just a better way to save a file. When used right, they are documentation about the history of the changes. If we treat them as linear save points in our work, the history becomes extremely noisy with a lot of commits that are "oops, fix tests", "oops, fix indentation", "oops, fix typo" (referred to oops commits from here on). Committing stuff that is wrong is inevitable but git allows us to rewrite the history so that reading it becomes a pleasure and a lot more efficient.
I enjoy reading books. Here are a few I want to read and a few I have read.