Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Pro Git (2nd ed.)
Chacon S., Straub B., Apress, New York, NY, 2014. 456 pp. Type: Book (978-1-484200-77-3)
Date Reviewed: Apr 1 2015

As is the case with the operas of certain composers, the Git software configuration management system is an acquired taste. Its command names are confusing, its interface is inconsistent, and its documentation is often terse and cryptic. However, Git is also extremely powerful, efficient, and responsive. All that’s needed to appreciate Git’s beauty is a book that, like a good opera companion, provides a gentle introduction, while also highlighting the work’s best parts. Pro Git, now in its second edition, succeeds in this difficult task with gusto.

The book covers all that’s required to work with Git: setting up a repository, branching, managing servers, working in teams, utilizing the GitHub repository service, advanced operations, customization, and working with other version management systems. The writers seem to assume some basic familiarity with the concept of software configuration management (or version control) systems because they approach the subject from the viewpoint of a Git user, rather than introducing readers to the idea of tracking software changes. The writing is clear, and numerous detailed (though somewhat grainy) images are used illustrate complex workflow and branching concepts. The tone of the text is always authoritative, which is not surprising, given that the book’s two authors are intimately associated with Git: Scott Chacon is a cofounder and CIO of GitHub, and Ben Straub is a longtime contributor to libgit2, the portable C implementation of Git’s core methods.

Both beginners and seasoned users will benefit from this book. Although I’ve been using Git daily for more than three years, I learned many new things by reading the book. Here is a (long) list of the most valuable ones: you can use git diff to see what you’re about to commit; git diff to verify you haven’t introduced any whitespace errors; git add -i to launch an interactive staging interface; git commit amend with a modified staging area to change a commit’s contents; git rerere to reuse a past conflict resolution; git archive to produce a tar or zip snapshot; git grep to search through the working tree’s files; git log -S to search for code changed in commits; and git log -L to see how a function was changed. I also appreciated the lucid explanation of the git reset and git bisect commands, and the details given regarding how credentials are stored.

The chapter covering the GitHub repository service, which is new to this edition, contains al of the information needed to use Git with it. Some things I learned from it were the use of task lists, how to enter emojis (smiley ideograms) in messages, and the special CONTRIBUTING file, which allows you to display instructions for contributing to a project when users initiate a pull request.

If you use Git, you can save yourself a lot of anguish, misery, and uncertainty by reading this book. Even better, you can boost your productivity as a developer in ways that are only possible with Git.

More reviews about this item: Amazon

Reviewer:  D. Spinellis Review #: CR143304 (1507-0543)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Version Control (D.2.7 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Version Control": Date
Distributed version management for read-only actions
Weihl W. IEEE Transactions on Software Engineering 13(1): 55-64, 1987. Type: Article
Jan 1 1988
RCS--a system for version control
Tichy W. (ed) Software--Practice & Experience 15(7): 637-654, 1985. Type: Article
Apr 1 1986
Version control and separate compilation in Ada
Dausmann M.  Ada-components: libraries and tools (, Stockholm, Sweden, May 26-28, 1987)1701987. Type: Proceedings
Jan 1 1989
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy