Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Pro Git
Chacon S., Apress, Berkeley, CA, 2009. 288 pp. Type: Book (9781430218333)
Date Reviewed: Jun 25 2010

Software development usually involves a team of programmers who may be distributed over several locations and work on multiple versions of the software. Although such teams clearly need a version control system (VCS) to ensure code consistency, VCSs suffer from problems related to scalability, usability, and security.

This book is a tutorial on Git, an open-source tool that has been in development since 2005, learning lessons from earlier VCSs. The use of Git is widespread in the Linux development community. It belongs to the new generation of VCSs, distinguished by their ability to support distributed code repositories (as opposed to the central repository model used in the past).

The first chapter provides a brief history of VCSs in general and Git in particular, and clarifies the differences between Git and competing products. It presents installation instructions for Linux, Windows, and Mac OS, with very basic configuration instructions.

The next two chapters are perhaps the most important in the book, since they explain the basic concepts necessary to use the tool, including the file status lifecycle, file committal, and tagging (chapter 2), and the different types of branching and merging (chapter 3). The concepts are illustrated with simple examples so that readers can work on their own computers; appropriate figures are used to clarify the examples. Although Chacon mentions graphical user interfaces (GUIs) for Git, all of the examples use a terminal interface, but this is entirely appropriate. By the end of these chapters, readers will be able to work with Git on their local systems.

A major reason for using VCSs is user collaboration. This is explored in the next two chapters, in which remote management of Git repositories is examined from several angles. Security--particularly, user authentication--is a major focus of chapter 4, together with setting up repositories for collaborative access. Chapter 5 considers how workflows can be organized so that projects of different sizes can be managed effectively. This is important for two reasons: the decentralized nature of Git allows for different patterns of use, and different contributors might require different levels of access to the repositories.

Chapter 6 considers Git’s other functions, including interactive versions of the basic Git commands, commands for changing the recent commit history, debugging tools, and the ability to manage hierarchies of projects. This is supplemented in chapter 7 by a discussion of methods for customizing Git. Chapter 8 explains how Git can import projects from other VCS tools, such as Subversion and Perforce, and the final chapter explains the structure of the files used by Git to store data and the transport protocols used to move data between users and repositories.

The appendix presents the book’s copyright, a Creative Commons license. The author’s site (http://progit.org/) includes a copy of the book, a useful blog with many more examples, and links to other Git-related resources.

This is a straightforward and clearly written introduction to a useful VCS tool. It is not only an effective tutorial, but also a useful reference.

Reviewer:  Mike Joy Review #: CR138129 (1106-0579)
Bookmark and Share
  Reviewer Selected
 
 
Version Control (D.2.7 ... )
 
 
General (D.2.0 )
 
 
Software Management (K.6.3 )
 
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